Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
информатика.doc
Скачиваний:
44
Добавлен:
22.03.2016
Размер:
12.91 Mб
Скачать

2.5 Заполнение списка массивом, если список состоит из нескольких колонок

Вызов объекта UserForm5, на базе которого организуется заполнение списка объекта ListBox1 массивом, если список состоит из нескольких колонок, осуществляется с помощью следующего программного модуля:

Private Sub CommandButton1_Click()

UserForm5.Show

End Sub

Рис. 1.8.

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

  1. Войти в VBAAlt-F11;

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

  3. Выбрать UserForm.

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

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

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

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

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

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

Программа заполнение списка объекта массивом, если список состоит из нескольких колонок

Private Sub CommandButton1_Click()

Dim S(1 To 5, 1 To 3)

Dim i As Integer

Dim j As Integer

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

S(2, 1) = "1": S(2, 2) = "Сорокина": S(2, 3) = "5"

S(3, 1) = "2": S(3, 2) = "Донец": S(3, 3) = "5"

S(4, 1) = "3": S(4, 2) = "Гусева": S(4, 3) = "5"

S(5, 1) = "4": S(5, 2) = "Жигунова": S(5, 3) = "5"

With ListBox1

.ColumnCount = 3

.List = S

End With

End Sub

Private Sub CommandButton2_Click()

UserForm4.Hide

End Sub

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

– В модуле Private Sub CommandButton1_Click(), программно поддерживающем объект CommandButton1, при реализации способа заполнения списка ListBox1 массивом, если список состоит из нескольких колонок, сначала объявляется двумерный массив S, а затем с помощью операторов присваивания выполняется заполнение элементов массива. После чего к объекту ListBox1 применяется свойство .List, в качестве значения которого объекту ListBox1 передается двумерный массив символьных констант "№","ФИО,"Оценка"и т.д.

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

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

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

Создание объектов ListBox на листе Excel организуется следующим образом:

  1. Выбрать в верхнем горизонтальном меню “Вид”;

  2. Выбрать в подменю “Панель инструментов”;

  3. Выбрать в подменю “Элементы управления”.

Рис. 1.9.

Затем с панели Элементы управления на лист Excel, рис. 1.9, последовательно переместить:

  • четыре объекта ListBox;

  • три объекта CommandButton,

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

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

Затем, выбрав, объект CommandButton1, написать соответствующую программу, обеспечивающую заполнение данными объектов ListBox1, ListBox2, ListBox4, ListBox5.