В этом материале мы рассмотрим пример, в котором используется очень популярный интерфейсный элемент управления «Переключатель» (рис. 1.44). Как правило, он используется для того, чтобы установить определенную опцию либо отобразить конкретный набор элементов управления.

Рис. 1.44. Размещение элемента управления «Переключатель» на листе
На рис. 1.45 показан интерфейс, который нам необходимо разработать на листе новой книги.

Рис. 1.45. Пример использования переключателей
Для верхнего переключателя в качестве значения свойства Name используем NN, а для нижнего — MS. Подберем шрифт, необходимый цвет и текст самой подписи иа элементе управления (значение свойства Caption).
В правой части листа расположим два элемента управления «Поле со списком» для отображения городов (Name — SpCity) и фирм (Name — SpFrm).
Функциональность разработки выглядит следующим образом. При щелчке на одном из переключателей список городов заполняется городами указанной области. В одном случае это будут города Нижегородской области, а в другом — Московской. Далее щелчком на определенном городе в поле со списком городов производится заполнение другого поля со списком. В него включаются организации, расположенные в указанном городе. В листингах 1.29 и 1.30 представлены процедуры, связанные со щелчками на переключателях.
1 2 3 4 5 6 7 | ' Листинг 1.29. Обработка щелчка на переключателе NN Private Sub NN_Click() SpCity.Clear SpFrm.Clear SpCity.AddItem "Арзамас" SpCity.AddItem "Балахна" End Sub |
1 2 3 4 5 6 7 8 | ' Листинг 1.30. Обработка щелчка на переключателе MS Private Sub MS_Click() SpCity.Clear SpFrm.Clear SpCity.AddItem "Красногорск" SpCity.AddItem "Мытищи" SpCity.AddItem "Раменское" End Sub |
После заполнения поля со списком городами на очереди — процедура обработки щелчка на данном элементе управления (листинг 1.31).
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | ' Листинг 1.31. Обработка щелчка на поле со списком SpCity Private Sub SpCity_Click() SpFrm.Clear If SpCity.Text = "Красногорск" Then SpFrm.AddItem "Альт" SpFrm.AddItem "Веда" ElseIf SpCity.Text = "Мытищи" Then SpFrm.AddItem "Миг" SpFrm.AddItem "Марс" ElseIf SpCity.Text = "Раменское" Then SpFrm.AddItem "Сатурн" SpFrm.AddItem "Юпитер" ElseIf SpCity.Text = "Арзамас" Then SpFrm.AddItem "Меркурий" SpFrm.AddItem "Зенит" ElseIf SpCity.Text = "Балахна" Then SpFrm.AddItem "Венера" SpFrm.AddItem "Ника" End If End Sub |
Осталось завершить разработку. Так, при выборе фирмы в поле со списком фирм на рабочем листе в ячейке Н8 должно отображаться название фирмы. Для этого определим процедуру обработки щелчка на поле со списком SpFrm в виде, представленном в листинге 1.32.
1 2 3 4 | ' Листинг 1.32. Обработка щелчка на переключателе SpFrm Private Sub SpFrm_Click() Range("H8").Value = SpFrm.Text End Sub |
Управление Excel из других офисных программ пакета Microsoft Office
Как отправлять электронные сообщения Microsoft Outlook прямо из вашего листа таблицы Excel с помощью VBA
Очень простой пример управления Word из Excel с помощью VBA
О. А. Сдвижков — Непараметрическая статистика в MS Excel и VBA
С. Роман — Использование макросов в Excel
Как обеспечить вывод значений выпадающего списка с двоеточием, как в бухгалтерских программах?
Как при помощи инструментов Excel решить задачу о коробке максимального объема
Построение графика функции одной переменной средствами Excel
Как правильно вводить, редактировать и копировать формулы в таблицах Excel
Как в Excel обойтись без подстановки шрифтов при применении малых кеглей