Заполнение объектов ListBox, расположенных на разных объектах UserForm.



Создание пользовательских форм c объектами ListBox целесообразно начинать с формирования кнопочного меню, рис. 10.2.

Тогда в каждом модуле, программно поддерживающем соответствующий объект CommandButton , находится обращение к определенному объекту UserForm.

 

Заполнение списка поэлементно, если список состоит из одной колонки

Вызов объекта UserForm 1, на базе которого организуется заполнение списка объекта ListBox 1 поэлементно, если список состоит из одной колонки, осуществляется с помощью следующего программного модуля:

 

Private Sub CommandButton1_Click()

UserForm1.Show

End Sub

Создание пользовательской формы c объектом ListBox 1 организуется следующим образом:

1. Войти в VBAAlt - F 11;

2. Выбрать Insert (вставка);

3. Выбрать UserForm .

Затем на появившуюся “платформу” объекта UserForm с панели Toolbox, рис. 9.4, последовательно переместить:

один объект ListBox;

два объекта CommandButton ,

расположив их, как показано на рис. 10.4.

Далее войти в VBA (Alt-F11), выбрать объект UserForm 1.

Затем,выбрав, объект CommandButton 1, написать соответствующую программу, обеспечивающую заполнение данными объекта ListBox 1.

 

 

Рис. 10.4.

 

Программа поэлементного заполнение списка объекта ListBox , если список состоит из одной колонки

 

Private Sub CommandButton1_Click()

'Заполнение списка поэлементно, 1 колонка

With ListBox 1

.AddItem " Июнь "

.AddItem " Июль "

.AddItem " Август "

.AddItem " Сентябрь "

End With

End Sub

Private Sub CommandButton2_Click()

UserForm1.Hide

End Sub

Некоторые комментарии к программе:

 

– Модуль объекта CommandButton 2, который в свойстве Caption переименован в “Закрыть”,обеспечивает завершение функционирования объекта UserForm за счет применения к объекту UserForm 1 метода Hide.

 

Заполнение списка массивом, если список состоит из одной колонки

Вызов объекта UserForm 2, на базе которого организуется заполнение списка объекта ListBox 1 массивом, если список состоит из одной колонки, осуществляется с помощью следующего программного модуля:

 

Private Sub CommandButton2_Click()

UserForm2.Show

End Sub

Создание пользовательской формы c объектом ListBox 1 организуется следующим образом:

1. Войти в VBAAlt - F 11;

2. Выбрать Insert (вставка);

3. Выбрать UserForm .

Затем на появившуюся “платформу” объекта UserForm с панели Toolbox, рис. 9.4, последовательно переместить:

один объект ListBox;

один объект TextBox;

два объекта CommandButton ,

расположив их, как показано на рис. 10.5.

Далее войти в VBA (Alt-F11), выбрать объект UserForm 2.

Затем,выбрав, объект CommandButton 1, написать соответствующую программу, обеспечивающую заполнение данными объекта ListBox 1.

 

 

Рис. 10.5.

 

Программа заполнение списка объекта ListBox массивом, если список состоит из одной колонки

 

Private Sub CommandButton1_Click()

'Заполнение списка массивом, 1 колонка

With ListBox1

. List = Array ("Июнь ", " Июль ", " Август ", " Сентябрь ", "Октябрь")

End With

End Sub

Private Sub ListBox1_Click()

TextBox1.Text = ListBox1.Text

Cells(10, 3).Value = ListBox1.Text

End Sub

Private Sub CommandButton2_Click()

UserForm2.Hide

End Sub

Некоторые комментарии к программе:

 

– В модуле Private Sub ListBox 1_ Click (), программно поддерживающем объект ListBox 1, к объекту ListBox 1 применяется свойство . Text , которое позволяет получить значение текущего выбранного элемента объекта ListBox 1. Этозначение присваивается объекту TextBox 1, а так как выбран “сентябрь”, то этот элемент и отображен в окне объекта TextBox 1. Кроме того, этот же элемент списка объекта ListBox 1 выведен в ячейку десятой строки и пятого столбца таблицы Excel;

– Модуль объекта CommandButton 2, который в свойстве Caption переименован в “Отменить”,обеспечивает завершение функционирования объекта UserForm за счет применения к объекту UserForm 2 метода Hide (скрыть).

 


Дата добавления: 2019-03-09; просмотров: 149; Мы поможем в написании вашей работы!






Мы поможем в написании ваших работ!