Предположим, что вы никогда не создавали пользовательские диалоговые окна, тогда этот пример надеюсь поможет вам разобраться в процессе. Здесь я попробовал привести пошаговые инструкции по созданию простого диалогового окна, а в следующих статьях разберём процедуры VBA для его поддержки.
Давайте создадим диалоговое окно, которое будет запрашивать у пользователя информацию о плоде: его название и тип. Диалоговое окно будет содержать элемент управления TextBox для ввода названия плода и три элемента управления OptionButton для указания типа плода (овощ, фрукт или ягода).
Полученная информация будет записана в пустые строки рабочего листа.
На скриншоте показано готовое диалоговое окно, которое мы сейчас и создадим.
Начнем с новой рабочей книги, содержащей только один рабочий лист. Следуйте этим шагам:
1. Откройте редактор VBA: Нажмите комбинацию клавиш <Alt+F11>, чтобы открыть окно Visual Basic Editor (VBE).
2. Добавьте новую форму UserForm: В окне Project (Проект) выберите проект текущей рабочей книги и выполните команду Insert => UserForm (Вставка => Форма UserForm). Это добавит пустую форму UserForm.
3. Измените свойство Caption формы: По умолчанию свойству Caption формы присвоено значение UserForm1. Используйте окно Properties (Свойства), чтобы изменить значение свойства Name на "UF_Плод_и_Тип" (почему-то я решил назвать так), а значение свойства Caption формы на "Укажите плод". Если окно Properties не отображается, нажмите клавишу <F4>.
4. Добавьте элемент управления Label и настройте его свойства следующим образом:
- Name: lbl_плод
- Accelerator: П
- Caption: Название:
- TabIndex: 0
5. Добавьте элемент управления TextBox и измените его свойства следующим образом:
- Name: tbx_плод
- TabIndex: 1
6. Добавьте элемент управления Frame и измените его свойства следующим образом:
- Name: frm_Вид_Плода
- Caption: Вид плода
- TabIndex: 2
7. Добавьте элемент управления OptionButton в область Frame и измените его свойства следующим образом:
- Accelerator: О
- Caption: Овощ
- Name: opt_овощ
- TabIndex: 0
8. Добавьте еще один элемент управления OptionButton в область Frame и измените его свойства следующим образом:
- Accelerator: Ф
- Caption: Фрукт
- Name: opt_фрукт
- TabIndex: 1
9. Добавьте еще один элемент управления OptionButton в область Frame и измените его свойства следующим образом:
- Accelerator: Я
- Caption: Ягода
- Name: opt_ягода
- TabIndex: 2
- Value: True
10. Добавьте элемент управления CommandButton за пределами Frame и измените его свойства следующим образом:
- Accelerator: С
- Caption: ОК
- Default: True
- Name: cmdOK
- TabIndex: 3
11. Добавьте еще один элемент управления CommandButton и настройте его свойства следующим образом:
- Accelerator: К
- Caption: Закрыть
- Cancel: True
- Name: cmdClose
- TabIndex: 4
Советы по созданию элементов управления
При создании нескольких похожих элементов управления быстрее копировать существующий элемент, чем создавать новый. Для копирования элемента управления удерживайте клавишу <Ctrl> при перетаскивании элемента управления, что приведет к созданию его копии. Затем измените свойства скопированного элемента.