Unload Me

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, "Сообщение"


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: