Программа Заполнение объектов ListBox, расположенных на одном объекте U serForm



Private Sub CommandButton1_Click()

Dim S(1 To 5, 1 To 3) As String

Dim i As Integer, j As Integer

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

With ListBox1

.AddItem " Июнь "

.AddItem " Июль "

.AddItem " Август "

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

End With

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

With ListBox2

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

TextBox1 = .ListIndex

.ControlSource = "A7"

End With

'Заполнение списка из диапазона

With ListBox3

.ColumnCount = 2

.RowSource = "A1:B6"

.ControlSource = "A8"

End With

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

With ListBox 4

.ColumnCount = 3

.AddItem " Июнь "

.List(0, 1) = "0.6"

.List(0, 2) = "30"

.AddItem " Июль "

.List(1, 1) = "0.7"

.List(1, 2) = "31"

.AddItem " Август "

.List(2, 1) = "0.8"

.List(2, 2) = "31"

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

.List(3, 1) = "0.9"

.List(3, 2) = "30"

End With

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

S(1, 1) = "№": S(1, 2) = " ФИО ": S(1, 3) = " Оценка "

S(2, 1) = "1": S(2, 2) = " Петров ": S(2, 3) = "3"

S(3, 1) = "2": S(3, 2) = " Шацков ": S(3, 3) = "5"

S(4, 1) = "3": S(4, 2) = " Фролькис ": S(4, 3) = "2"

S(5, 1) = "4": S(5, 2) = " Печкин ": S(5, 3) = "4"

With ListBox5

.ColumnCount = 3

.List = S

End With

End Sub

Private Sub CommandButton2_Click()

Unload Me

End Sub

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

 

– В модуле Private Sub CommandButton 1_ Click (), программно поддерживающем объект CommandButton 1, при реализации способа поэлементного заполнения списка ListBox 1, к объекту ListBox 1 применяется метод AddItem, с помощью которого в операторе цикла With добавляются элементы списка, например . AddItem "Июнь" и т.д.;

– В модуле Private Sub CommandButton 1_ Click (), программно поддерживающем объект CommandButton 1, при реализации способа заполнения списка ListBox 2 массивом, если список состоит из одной колонки, к объекту ListBox 2 применяется свойство . List, в качестве значения которого объекту ListBox 2 передается одномерный массив символьных констант "Июнь", "Июль"  и т.д.;

– Кроме того, для списка ListBox 2 применяется свойство . ControlSource , с помощью которого устанавливается ячейка (в данном случае это “A 7”), в которую возвращается выбранный элемент списка ListBox 2, так как на рис. 10.1 в списке ListBox 2 была выбрана вторая строка, второй элемент списка "Июль", то поэтому этот элемент и отобразился в ячейке A 7;

– В операторе цикла With объекта ListBox 2 для объекта TextBox 1 применяется свойство . ListIndex, котороевозвращает номер текущего, то есть выбранного, элемента списка. Так как первоначально после вызова объекта UserForm объекты ListBox 1- ListBox 5 не заполнены и, следовательно, в объекте ListBox 2 никакой элемент списка не выбран, то после нажатия кнопки “Заполнить”, в окне объекта TextBox 1, рис. 10.1, появляется значение “-1”. После выбора в объекте ListBox 2 элемента списка "Июль", и повторного нажатия кнопки “Заполнить”, в окне объекта TextBox 1, рис. 10.1, появляется значение “1”, а не “2”, так как нумерация элементов списка начинается с нуля;

– В модуле Private Sub CommandButton 1_ Click (), программно поддерживающем объект CommandButton 1, при реализации способа заполнения списка ListBox 3 из диапазона, к объекту ListBox 3 применяется свойство RowSours ,  с помощью которого устанавливается диапазон, содержащий элементы списка, в данном случае " A 1: B 6";

– Так как данные, передаваемые из указанного диапазона, в объект ListBox 3 представляют собой таблицу, состоящую из двух столбцов, то, к объекту ListBox 3 применяется свойство . ColumnCount , значение которого устанавливаетчисло столбцов в списке = 2;

– Кроме того, для списка ListBox 3 применяется свойство . ControlSource , с помощью которого устанавливается ячейка (в данном случае это “A 8”), в которую возвращается выбранный элемент списка ListBox 3, так как на рис. 10.1 в списке ListBox 3 была выбрана пятая строка списка ListBox 3, элементом которого является "5", то поэтому этот элемент и отобразился в ячейке A 8;

– В модуле Private Sub CommandButton 1_ Click (), программно поддерживающем объект CommandButton 1, при реализации способа заполнения списка ListBox 4 поэлементно, если список состоит из нескольких колонок, к объекту ListBox 4 применяется метод AddItem, с помощью которого в операторе цикла With добавляются элементы списка, например . AddItem "Июнь" и т.д.; Кроме того, к объекту ListBox 4 применяется свойство . List, в качестве значений которого элементам списка ListBox 4, находящимся  на пересечении указанныхстрок и столбцов, сообщаются соответствующие символьные константы, например, "0.6", "30" и т.д.;

– Так как данные, формируемые в объекте ListBox 4 представляют собой таблицу, состоящую из трех столбцов, то, к объекту ListBox 4 применяется свойство . ColumnCount , значение которого устанавливаетчисло столбцов в списке = 3;

– В модуле Private Sub CommandButton 1_ Click (), программно поддерживающем объект CommandButton 1, при реализации способа заполнения списка ListBox 5 массивом, если список состоит из нескольких колонок, сначала объявляется двумерный массив S , а затем с помощью операторов присваивания выполняется заполнение элементов массива. После чего к объекту ListBox 5 применяется свойство . List, в качестве значения которого объекту ListBox 5 передается двумерный массив символьных констант "№","ФИО,"Оценка"и т.д. Кроме того, к объекту ListBox 5 применяется свойство . ColumnCount , значение которого устанавливаетчисло столбцов в списке = 3;

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

 


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






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