Найти тему
VBA Excel с нуля

VBA Excel № 149.1 Создаём пользовательское диалоговое окно

Скриншот с моего ноутбука
Скриншот с моего ноутбука

Предположим, что вы никогда не создавали пользовательские диалоговые окна, тогда этот пример надеюсь поможет вам разобраться в процессе. Здесь я попробовал привести пошаговые инструкции по созданию простого диалогового окна, а в следующих статьях разберём процедуры 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> при перетаскивании элемента управления, что приведет к созданию его копии. Затем измените свойства скопированного элемента.

Продолжение следует…