Элемент управления ComboBox

(комбинированный список)

Этот элемент управления предоставляет пользователю возможность выбирать существующие значения из раскрывающегося списка и вводить в поле списка значение, которое отсутствует в списке.

Наиболее часто используются следующие свойства элемента ComboBox.

- RowSource – это свойство указывает диапазон рабочего листа, который содержит список значений элемента управления RowSource.

- Value (или Text) — позволяет программным способом установить выбранное значение в списке или вернуть выбранное или введенное пользователем значение.

- Остальные свойства: AutoSize, Enabled, Locked, ControlText, ControlTipText, MaxLength – применяются точно так же, как и для TextBox.

Основное событие элемента ComboBox – это Change, то же, что и для TextBox. Обычно при обработке этого события проверяются введенные пользователем значения, которые переносятся в текстовое поле.

Список значений элемента управления ComboBox может быть определён двумя способами:

- должен храниться в диапазоне ячеек рабочей книги;

- определяться, используя метод AddItem для добавления значения списка в элемент управления ComboBox.

В первом способе в окне Properties устанавливается значение свойства RowSource в виде ссылки на диапазон листа рабочей книги, в котором хранятся значения списка, например, Лист1!B1:B4или КАРТАЛЫ, где КАРТАЛЫ – имя диапазона-строки или диапазона-столбца (рис. 21,а и рис. 21,б).

Элемент управления ComboBox - student2.ru

Рис. 21,а. Диапазон значений элемента управления ComboBox

Элемент управления ComboBox - student2.ru

Рис. 21,б. Ссылка на диапазон значений элемента управления ComboBox

Значения диапазона ячеек рабочей книги можно менять программно.

Во втором способе значения элемента управления ComboBox создаются программно перед использованием формы и пропадают после её закрытия. Ниже приведена процедура Заполнение_ComboBox, заполняющая элемент управления ComboBox названиями кварталов с помощью метода AddItem. В этой процедуре ShouКвартал – имя формы, КВАРТАЛЫ – имя элемента управления ComboBox и значение свойства Caption формы ShouКвартал.

Public R As Variant

Элемент управления ComboBox - student2.ru

Sub Заполнение_ComboBox()

' Заполнение элемента управления ComboBox

ShouКвартал.КВАРТАЛЫ.RowSource = “”

ShouКвартал.КВАРТАЛЫ.AddItem “КВ1”

ShouКвартал.КВАРТАЛЫ.AddItem “КВ2”

ShouКвартал.КВАРТАЛЫ.AddItem “КВ3”

ShouКвартал.КВАРТАЛЫ.AddItem “КВ4”

ShouКвартал.Show

MsgBox “R=” & R

End Sub

Кроме создания значений элемента управления ComboBox, в этой процедуре осуществляется вывод на экран формы ShouКвартал (используется метод Show) и значения переменной R. Переменная R получает значение в процедуре Ok_Click формы обработки события нажатия кнопки. Переменная R должна быть объявлена как Public перед самой первой стандартной процедурой. На рис.22 приведёна форма ShouКвартал, в которой значения элемента ComboBox получены любым из приведённых выше способов.

Элемент управления ComboBox - student2.ru

Рис.22. Форма ShouКвартал

В форме ShouКвартал КВАРТАЛЫ – это заголовок формы, полученный присвоением параметру Caption значения КВАРТАЛЫ. Щелчок по кнопке Ok формы вызывает процедуру Ok_Click обработки этого события:

Private Sub Ok_Click()

Range(“A1”).Value = ShouКвартал.КВАРТАЛЫ.Value

R = ShouКвартал.КВАРТАЛЫ.Value

End Sub

В результате её выполнения ячейка A1 активного листа и переменная R получат значение выбранной позиции в списке (на рис. 22 это КВ2).

При нажатии кнопки “Выйти” выполняется процедура Выйти_Click формы модуля ShouКвартал:

Private Sub Выйти_Click()

Unload Me

End Sub

В результате выполнения процедуры Выйти_Click происходит выгрузка формы ShouКвартал из памяти.

Наши рекомендации