Новости:

К первому сообщению темы должен быть прикреплен файл примера в формате xls*.
Приложив пример, Вы избавите себя и других от вопросов типа "А какой критерий?", "А куда выводить результат?", "А сколько строк?" и все тех же просьб выложить файл. Рисовать за Вас Ваши же таблички с заданиями, а затем и решение к ним, никто желанием не горит. Да и, как показывает практика, в большинстве случаев без файла решения не найти.

Главное меню

Работа с MultiPage

Автор GWolf, 11.04.2011, 16:43

« назад - далее »

GWolf

Доброго дня, коллеги!

На скрепке проблема, которую не могу решить. Прошу Вашей помощи. Объяснение в файле, но я его продублирую здесь:
ЦитироватьUserForm имеет две MultiPage
На MultiPage0 находится два окна: в левое грузится список, по списку можно осуществлять множественное выделение (при нажатой клавише Ctrl). Все что выделили при нажатии кнопки со стрелкой: [>], переносится в правое окно. Если какой-то пункт в отборе нас неустраивает, мы можем его вернуть в левый список, выделив и нажав кнопку со стрелкой: [<].
При переходе на MultiPage1, макрос определяет количество отобранных в правое окно элементов и создает на MultiPage1 столько блоков Label + TextBox, в Label записывается наименование выбранного элемента из правого списка MultiPage0, а TextBox служит для ввода значения по этому элементу пользователем.

Так должно быть, но не работает. Как сделать???

Большое спасибо всем откликнувшимся.
Путей к вершине - множество. Этот один из многих!

Prist

#1
А что конкретно не работает? Я сделал корректный и более удобный перенос позиций из одного ListBox-а в другой. А вот остальная часть задачи для меня выглядит как-то мутно...что создается, где создается, куда распределяется...что в Textbox записывать....

Разобрался что куда. Но, похоже не все так просто. ТекстБоксы создаются, но...На самой форме, а не на MultiPage1. Вот так-то...надо либо придумать, как при создании контролы на MultiPage1 перенести, либо создавать их вне MultiPage1 - на форме.
И еще: эта строка - Set lblU = Me.Controls.Add("Forms.TextBox.1", "tbx_" & i, Visible)
должна выглядеть так: Set lblU = Me.Controls.Add("Forms.TextBox.1", "tbx_" & i, True)
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
www.excel-vba.ru
Просто СПАСИБО [+оказать+]
Считаешь СПАСИБО мало? Яндекс.Деньги: 41001332272872; WM: R298726502453

GWolf

Доброго дня Prist!

Спасиба за отклик! Замечания поправил.
И по твоей волшебной  8)  ;) ;D наводке я нашел ответ:

Если сделать вот так:

Set lblU = Me.MultiPage1.Pages(1).Controls.Add("Forms.TextBox.1", "tbx_" & i, True)

то все работает!
Путей к вершине - множество. Этот один из многих!