Предположим, что нам надо создать форму, с помощью которой пользователь выбирает кафедру:
Данные, на основе которых формируется поле со списком, находятся в первом столбце на листе Кадры, в книге C:\St\Институт.xls (рис. 12.14).
Тогда фрагмент кода, который формирует поле со списком, запишется так:
'Объявляем переменные и массивы:
Dim Кафедры() As String
Dim Кафедра As String
Dim НомерСтроки As Integer
Dim КолСотрудников As Integer
Dim КолКафедр As Integer
'Формируем список кафедр, которые _
встречаются в первом столбце на листе Кадры:
КолКафедр = 1 'кол-во кафедр
'Выделяем память для первой кафедры и _
заносим её в массив из ячейки (3,1):
ReDim Preserve Кафедры(1) As String
Кафедры(1) = Trim(Cells(3, 1).Value)
'Перебираем остальные записи БД, проверяя _
наличие очередной кафедры в массиве Кафедры:
НомерСтроки = 4
While Trim(Cells(НомерСтроки, 1).Value) <> ""
Кафедра = _
Trim(Cells(НомерСтроки, 1).Value)
For j = 1 To КолКафедр
If Кафедра = Кафедры(j) Then GoTo n3
Next j
КолКафедр = КолКафедр + 1
ReDim Preserve Кафедры(КолКафедр) As String
Кафедры(КолКафедр) = _
Trim(Cells(НомерСтроки, 1).Value)