End If
Loop
....
Пример создания поля со списком
Предположим, что нам надо создать форму, с помощью которой пользователь выбирает кафедру:
Данные, на основе которых формируется поле со списком, находятся в первом столбце на листе Кадры, в книге C:\St\Институт.xls (Рис. 12‑14).
Тогда фрагмент кода, который формирует поле со списком, запишется так:
'Объявляем переменные и массивы:
Dim Кафедры() As String
Dim Кафедра As String
Dim НомерСтроки As Integer
Dim КолСотрудников As Integer
Dim КолКафедр As Integer
'Формируем список кафедр, которые встречаются в первом _
столбце на листе Кадры:
НомерСтроки = 3
Do While Trim(Cells(НомерСтроки, 1).Value) <> ""
НомерСтроки = НомерСтроки + 1
КолКафедр = 1 'кол-во кафедр
ReDim Preserve Кафедры(КолКафедр) As String
Кафедры(КолКафедр) = Trim(Cells(3, 1).Value)
For i = 3 To НомерСтроки - 1
If Trim(Cells(i + 1, 1).Value) <> "" Then
Кафедра = Trim(Cells(i + 1, 1).Value)
For j = 1 To КолКафедр
If Кафедра = Кафедры(j) Then GoTo n3
Next j
КолКафедр = КолКафедр + 1
ReDim Preserve Кафедры(КолКафедр) As String
Кафедры(КолКафедр) = Trim(Cells(i + 1, 1).Value)
|
|
n3: Next i
....
frmКафедра.cbo Кафедра.List = Кафедры
frmКафедра.Show
Для того чтобы узнать, какой элемент списка выбрал пользователь, воспользуемся свойством Value:
Private Sub cmdOK_Click()
Dim Кафедра As String
Кафедра = cboКафедра.Value
MsgBox "Выбрана кафедра " & Кафедра & "!", _
vbInformation, "Сообщение"