Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатика
ИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханика
ОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторика
СоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансы
ХимияЧерчениеЭкологияЭкономикаЭлектроника

Работа с ComboBox

Читайте также:
  1. ComboBox
  2. IX. Учет и отчетность по научно-исследовательским работам
  3. VII. КУЛЬТУРНО – МАССОВАЯ, ФИЗКУЛЬТУРНАЯ И ОЗДОРОВИТЕЛЬНАЯ РАБОТА СО СТУДЕНТАМИ
  4. Акты по работам на трансформаторной подстанции
  5. Б. Работа в агрохимической лаборатории
  6. Б. Работа в агрохимической лаборатории
  7. Бедные и средний класс работают ради денег». «Богатые заставляют деньги работать на себя».

Итак, добавим форму - пункт меню Insert/UserForm, и назовём её к примеру Vibor.
Теперь из панели инструментов добавим на неё ComboBox. Придаём ему необходимые размеры и расположение на форме.
Ну и кнопку добавим на форму, которая и будет обрабатывать данные выпадающего списка.

Выделим мышкой добавленный ComboBox и зададим ему имя Sotrudniki, дабы понятно было.

Добавим на лист в столбец А список произвольных не повторяющихся имён и кнопку, которая будет вызывать созданную форму.
Ниже показан код кнопки находящейся, на листе.

Private Sub CommandButton1_Click() Vibor.Show End Sub

Ну вот, сотрудники готовы. Теперь их как-то надо загрузить в ComboBox, который находится на форме. Для этого заходим в код формы. Щёлкаем правой кнопкой мыши по ней в окне Project-VBAProject и выбираем пункт View Code.

Выбираем из выподающего списка UserForm и Initialize. Это тот код который будет инициализировать форму Vibor при её загрузке.

Теперь воспользуемся обычным циклом, который будет перебирать имена и записывать их в Combobox-Sotrudniki.
Код будет выглядеть таким образом:

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 End Sub

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 | Нарушение авторских прав


Читайте в этой же книге: Offset(RowOffset, ColumnOffset) | Выделения относительно активной ячейки | Error. Обработка ошибок | Способ №4. Очистка ошибки | Создание собственной функции |
<== предыдущая страница | следующая страница ==>
Цифры прописью| Порядок проведения I тура Олимпиады в форме региональной олимпиады

mybiblioteka.su - 2015-2024 год. (0.006 сек.)