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

VBA Excel № 149.3 Добавляем процедуру обработки событий UserForm

Оглавление

Продолжение. Начало в статьях №149.1 и №149.2.

В этой статье мы рассмотрим, как создать процедуры, которые обрабатывают события в пользовательском диалоговом окне в Excel. Следуя этому руководству, мы напишем код для кнопок в форме UserForm.

Шаг 1: Открытие редактора VBE

Для начала нужно активировать редактор VBE. Это можно сделать, нажав комбинацию клавиш <Alt+F11>.

Шаг 2: Проверка отображения пользовательского окна

Убедитесь, что ваше пользовательское окно (UserForm) отображено на экране. Для этого дважды щелкните на кнопке "Закрыть" в окне формы.

Шаг 3: Создание пустой процедуры для кнопки "Закрыть"

После двойного щелчка на кнопке "Закрыть" откроется окно кода для формы UserForm, и автоматически создастся пустая процедура для обработки события Click этой кнопки. Название процедуры включает имя объекта, символ подчеркивания и название обрабатываемого события.

-2

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

Измените автоматически созданную процедуру следующим образом:

-3

Эта процедура выгружает форму UserForm из памяти при нажатии кнопки "Закрыть".

Шаг 4: Повторное отображение формы UserForm

Для того чтобы снова увидеть форму UserForm, нажмите <Shift+F7> или щелкните на значке "View Object" (Просмотр объекта) в верхней части окна "Project Explorer" (Просмотр объектов).

Шаг 5: Создание процедуры для кнопки "ОК"

Дважды щелкнем на кнопке "ОК"

-4

и напишем следующий код:

-5

Эта процедура выполняет следующие действия:

  1. Проверяет, было ли введено название плода в текстовое поле (TextBox).
  2. Если текстовое поле пустое, отображает сообщение с требованием ввести название и снова устанавливает фокус на это поле.
  3. Если название введено, вычисляет следующую пустую строку в столбце А с помощью функции Excel СЧЁТЗ (CountA).
  4. Записывает введенное название в соответствующую ячейку столбца А.
  5. Определяет выбранный тип плода (Овощ, Фрукт или Ягода) и записывает его в столбец В.
  6. Очищает текстовое поле и устанавливает значение по умолчанию для элементов управления (в данном случае выбирает "Ягода").
  7. Перезапускает диалоговое окно, чтобы можно было ввести следующую запись.

Шаг 6: Тестирование формы

Перейдите в окно Excel и снова откройте пользовательское диалоговое окно, щелкнув на соответствующей кнопке "Вызвать форму" (см. статью № 149.2). Проверьте работу формы, запустив процедуру несколько раз. Убедитесь, что все элементы управления работают правильно.

Теперь вы можете добавлять новые имена в список, состоящий из двух колонок.

Давайте подведём итоги

После добавления (написания) вышеуказанных процедур ваша форма должна работать без замечаний. Не забудьте проверить работоспособность выбранных комбинаций клавиш (если вы их выбирали). В реальной практике, кроме имени и типа плода, может потребоваться дополнительная информация. Для ее сбора добавьте дополнительные элементы управления в UserForm.

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

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