Читайте также:
|
|
Итак, добавим форму - пункт меню Insert/UserForm, и назовём её к примеру Vibor.
Теперь из панели инструментов добавим на неё ComboBox. Придаём ему необходимые размеры и расположение на форме.
Ну и кнопку добавим на форму, которая и будет обрабатывать данные выпадающего списка.
Выделим мышкой добавленный ComboBox и зададим ему имя Sotrudniki, дабы понятно было.
Добавим на лист в столбец А список произвольных не повторяющихся имён и кнопку, которая будет вызывать созданную форму.
Ниже показан код кнопки находящейся, на листе.
Ну вот, сотрудники готовы. Теперь их как-то надо загрузить в ComboBox, который находится на форме. Для этого заходим в код формы. Щёлкаем правой кнопкой мыши по ней в окне Project-VBAProject и выбираем пункт View Code.
Выбираем из выподающего списка UserForm и Initialize. Это тот код который будет инициализировать форму Vibor при её загрузке.
Теперь воспользуемся обычным циклом, который будет перебирать имена и записывать их в Combobox-Sotrudniki.
Код будет выглядеть таким образом:
Imena - это строковая переменная, в которую записываются имена;
a - это числовая переменная, которая равна количеству имён (от 2 до 9, так как имена начинаются со второй строки и заканчиваются девятой строкой);
Sotrudniki.AddItem Imena - добавляет в выпадающий список имена из переменной Imena;
Cells(a, 1) - ячейка с переменной строкой и постоянным столбцом А, из которой заносятся имена в переменную Imena;
Теперь перейдём к самому главному - нажмём на кнопку Обработать, чтобы запустить форму.
Для того чтобы орабоать выбранное имя перейдём в код кнопки ОК и разместим следующий код.
Private Sub CommandButton1_Click() 'Кнопка Ок If Sotrudniki.Text = "" Then MsgBox "Сотрудник не выбран", vbCritical, "Ошибка" Else MsgBox "Производим обработку данных сотрудника " & _ Sotrudniki.Text, vbExclamation, "Пример" End If End SubВ этом коде говорится, что если сотрудник не выбран, то нам появляется первое критическое сообщение, если имя сотрудника указано, то нам выводится второе сообщение.
Как поставить значение по умолчанию в ComboBox?
Если нам необходимо по умолчанию поставить какого-то сотрудника, например Василий, то в коде инициализации формы необходимо добавить ещё одну строку.
Private Sub UserForm_Initialize() Dim Imena As String Dim a As Byte For a = 2 To 9 Step 1 Imena = Cells(a, 1) Sotrudniki.AddItem Imena Next a Sotrudniki.ListIndex = 0 'отвечает за выбор сотрудника End SubОбратите внимание, что номерация списка в ComboBox начинается с 0. То-есть если нам по умолчанию надо будет прописать Екатерину, то.
Дата добавления: 2015-08-09; просмотров: 103 | Нарушение авторских прав
<== предыдущая страница | | | следующая страница ==> |
Цифры прописью | | | Порядок проведения I тура Олимпиады в форме региональной олимпиады |