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

VBA Excel № 146. Как показать форму UserForm или в моём случае «МояФорма»

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

Чтобы показать форму UserForm (это диалоговое окно, созданное пользователем) с помощью VBA, нужно написать специальный код. Этот код включает метод Show (Шоу), который принадлежит объекту UserForm. Без выполнения хотя бы одной строки кода VBA, форма UserForm не появится на экране.

Для начала я создаю UserForm с именем МояФорма

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

📌 Скачать файл пример, можно в конце статьи.

Где разместить процедуру вызова формы

Процедуру, которая показывает форму UserForm, нужно разместить в стандартном модуле VBA. Это важно, потому что, если вы поместите её в модуль самой формы UserForm, код работать не будет.

Итак, наша форма называется МояФорма. Вот пример процедуры, которая покажет это диалоговое окно:

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

Тестирование пользовательского диалогового окна

Когда вы разрабатываете форму UserForm, часто нужно проверить, как она работает. Для этого существует несколько методов тестирования:

1. Команда Run-Run Sub/UserForm. Чтобы использовать этот метод, выберите в меню команду "Выполнить -> Выполнить процедуру/пользовательскую форму".

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

2. Клавиша F5. Просто нажмите клавишу <F5> на клавиатуре (при открытом редакторе VBE).

3. Кнопка Run Sub/UserForm на панели инструментов. Найдите эту кнопку на стандартной панели инструментов и нажмите на неё.

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

4. Назначить на рабочем листе кнопку для вызова формы.

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

5. Назначить комбинацию клавиш. Как это делать отражено в статье №1 и статье №58.1

Любой из этих способов запускает форму и инициализирует все её элементы. Это значит, что вы сможете увидеть диалоговое окно и проверить, как оно работает. Вы можете убедиться, что все объекты на форме активируются в правильном порядке, и (или) проверить работу комбинаций клавиш.

Закрытие пользовательской формы

Когда форма отображается на экране, она остается там до тех пор, пока вы её не закроете. Обычно на форме ставим кнопку, которая закрывает её. Эта кнопка называется CommandButton. Чтобы прописать код для этой кнопки два раза щелкните не неё. Я ввёл две кнопки с именами:

  1. HideForm;
  2. UnloadForm.

Когда вы инициализируете форму то нажимаете на неё, запускается процедура, которая закрывает форму. Для этого можно использовать два метода:

  1. Метод Unload - полностью выгружает форму из памяти.
  2. Метод Hide - скрывает форму, но оставляет её в памяти.

Вот коды для этих процедур:

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

СКАЧАТЬ ФАЙЛ ПРИМЕР

Наука
7 млн интересуются