Лекция: Пример создания списка
Предположим, что нам надо создать следующую форму с перечнем сотрудников кафедры:
Требуется написать программу инициализации формы, в которой:
· список сотрудников должен быть разбит на 2 колонки (1-я колонка – Ф.И.О, 2-я – должность);
· предусмотрена возможность выбора нескольких элементов;
· данные, на основе которых формируется этот список, находятся на рабочем листе Кадры в книге C:\St\Институт.xls (рис. 12.14).
Рис. 12.14. Структура базы данных Кадры
Тогда фрагмент кода, который формирует список, запишется так:
' 1. Массив Преподаватели объявляем как _
динамический массив
Dim Преподаватели() As String
Dim ПреподавателиТранс() As String
Dim НомерСтроки As Integer
Dim КолСотрудников As Integer
... .
НомерСтроки = 3
КолСотрудников = 0
' 2. Считываем данные в динамический массив:
While Trim(Cells(НомерСтроки,2).Value) <> ""
If Trim(Cells(НомерСтроки, 1).Value) = «АСУ» Then
КолСотрудников = КолСотрудников + 1
ReDim Preserve Преподаватели(2, КолСотрудников)
Преподаватели(1, КолСотрудников) = _
Cells(НомерСтроки,2).Value
Преподаватели(2, КолСотрудников) = _
Cells(НомерСтроки,3).Value
End If
НомерСтроки = НомерСтроки + 1
Wend
' 3. Транспонируем массив Преподаватели:
ReDimПреподавателиТранс(КолСотрудников, 2)
For i = 1 To КолСотрудников
ПреподавателиТранс (i, 1) = Преподаватели (1, i)
ПреподавателиТранс (i, 2) = Преподаватели (2, i)
Nexti
' 4. Заполняем список, состоящий из двух колонок:
With lstCотрудник
.СolumnCount = 2
.List = ПреподавателиТранс