- Откройте окно Microsoft Visual Basic, выбрав последовательно команды Macro (Макрос), Visual Basic Editor (Редактор Visual Basic) из меню Tools (Сервис).
- В меню Insert (Вставка) выберите пункт UserForm. Появится макет будущей формы, которая по умолчанию называется UserForm1. Вы можете поменять имя, указав его в окошке свойств справа от поля (Name). Не путайте имя пользовательской формы со свойством Caption, которое определяет подпись объекта (заголовок).
Обратите внимание, что к проекту рабочей книги добавилась папка Forms (Формы), содержащая нашу пользовательскую форму. В дальнейшем, для редактирования необходимо будет выбрать ее в окне проекта.
Теперь, с помощью панели инструментов Control Toolbox (Элементы управления), следует поместить на форму элементы управления.
- Выберите элемент управления Combo Box (Поле со списком) на панели инструментов.
- Щелкните на макете мышкой в то место, где Вы хотите видеть этот элемент.
- Кликните правой клавишей мышки на объекте и выберите в появившемся контекстном меню пункт Properties (Свойства). Появится окошко, в котором следует задать свойства элемента управления.
- По умолчанию полю со списком присваивается имя ComboBox1. Вы можете определить другое имя, указав его справа от поля (Name).
- Определим ячейки, которые будут хранить элементы нашего списка и выбранное значение:
- свойство ControlSource задает адрес ячейки, в которой хранится выбранное значение. Содержимое этой ячейки, кроме того, отражается в текстовом поле нашего элемента. Введем, например, B2 в это поле;
- свойство RowSource определяет источник элементов списка (предположим, что список содержится в диапазоне A1:A3 на текущем листе).
Теперь надо сделать так, чтобы пользовательскую форму можно было запускать непосредственно из Excel:
- В меню Insert (Вставка) выберите пункт Module (Модуль). Обратите внимание, что проект рабочей книги пополнился еще одной папкой Modules (Модули).
- Наберите текст процедуры, как показано на рисунке.
- Теперь непосредственно в Excel мы можем пользоваться нашей формой, запуская ее как макрос. Она будет фигурировать под именем Show_Form или под тем, которое Вы сами ей дадите.