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

VBA Excel № 141. Создание пользовательских диалоговых окон

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

ПОЛЬЗОВАТЕЛЬСКИЕ ДИАЛОГОВЫЕ ОКНА

При разработке приложений в Excel, создание собственных диалоговых окон становится относительно простой задачей. Могу отметить, что внешний вид и поведение этих диалоговых окон достаточно легко имитируют стандартные диалоговые окна Excel.

Вот стандартная последовательность действий для создания пользовательского диалогового окна:

  1. Вставьте новую форму UserForm в проект рабочей книги.
  2. Добавьте необходимые элементы управления на форму UserForm.
  3. Настройте свойства добавленных элементов управления.
  4. Создайте процедуры обработки событий для элементов управления. Эти процедуры добавляются в модуль кода UserForm и выполняются при возникновении различных событий, таких как нажатие на кнопку.
  5. Разработайте процедуру, которая отображает форму. Эта процедура будет находиться в модуле VBA, а не в модуле кода для UserForm.
  6. Определите простой способ вызова процедуры, созданной в пункте 5.

Вы также можете поместить кнопку на рабочий лист, добавить команду на ленту и другие действия.

ДОБАВЛЕНИЕ НОВОЙ ФОРМЫ UserForm

Для добавления формы UserForm в проект, откройте VBE (нажав комбинацию клавиш <Alt+F11>), выберите рабочую книгу в окне проекта и выполните команду Insert => UserForm (Вставка => Форма UserForm). Формы UserForm будут иметь имена, такие как UserForm1, UserForm2 и так далее.

Скриншот с моего ноутбука
Скриншот с моего ноутбука
Скриншот с моего ноутбука
Скриншот с моего ноутбука
Для удобства идентификации, вы можете изменить название формы UserForm. Для этого выберите форму и измените свойство Name (Имя) в окне Properties (Свойства). Если это окно не отображается, нажмите клавишу <F4>. На скриншоте показано окно Properties, где выбрана пустая форма UserForm.

В рабочей книге может быть сколько угодно форм UserForm, каждая из которых представляет собой отдельное пользовательское диалоговое окно.

ДОБАВЛЕНИЕ ЭЛЕМЕНТОВ УПРАВЛЕНИЯ В ПОЛЬЗОВАТЕЛЬСКОЕ ДИАЛОГОВОЕ ОКНО

Чтобы добавить элементы управления на форму UserForm, воспользуйтесь панелью Toolbox (Набор инструментов). Обратите внимание, что в VBE отсутствуют команды меню для добавления элементов управления. Если панель Toolbox не отображается на экране, выберите команду View => Toolbox (Вид => Панель инструментов Toolbox).

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

Нажмите на кнопку на панели Toolbox, которая соответствует нужному элементу управления, а затем щелкните внутри диалогового окна, чтобы создать элемент управления (он будет иметь размер по умолчанию). Также вы можете изменить размер элемента, перетянув его границы в диалоговом окне.

Добавленному элементу управления будет присвоено имя, которое состоит из названия типа элемента управления и числового кода. Например, если вы добавите элемент управления CommandButton на пустую форму UserForm, он будет назван CommandButton1. Если добавить еще один элемент управления CommandButton, он будет назван CommandButton2.

Скриншот с моего ноутбука
Скриншот с моего ноутбука
Рекомендуется переименовать все элементы управления, которыми вы управляете с помощью кода VBA. Это позволит использовать описательные имена, легкие для запоминания. Например, "СписокСотрудников" звучит лучше, чем "ListBox1". Для изменения имени элемента управления воспользуйтесь окном Properties (Свойства) в VBE. Просто выберите объект и измените его свойство "Name".

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

В следующей статье рассмотрим более подробно сами элементы управления на панели Toolbox.