VBA Excel. Привязка события к элементу управления

Привязка события к программно созданному элементу управления формы в VBA Excel на примере привязки события SpinButton_Change к счетчику и события CommandButton_Click к кнопке.

Привязка события к элементу управления

Динамически созданные элементы управления пользовательской формы никак не реагируют на свойственные им события. Чтобы это изменить, необходимо объявить переменные, предназначенные для создания этих элементов управления,

  1. с типом, описывающим создаваемый элемент управления;
  2. с ключевым словом WithEvents, которое указывает, что создаваемый объект должен быть связан со всеми присущими ему событиями.

Процедуры событий для программно созданных элементов управления должны быть заранее приготовлены в модуле пользовательской формы.

Синтаксис процедур событий для динамически создаваемых элементов управления:

Пример привязки событий к объектам

Пример привязки события SpinButton_Change к программно созданному счетчику (SpinButton) и привязки события CommandButton_Click к динамически созданной кнопке (CommandButton):

Внешний вид пользовательской формы с динамически созданными элементами управления (SpinButton, TextBox и CommandButton) с размерами по умолчанию в VBA Excel 2016:

Значение счетчика автоматически копируется в текстовое поле, а кнопка «Обнулить» обнуляет и счетчик, и значение в текстовом поле.


Содержание рубрики VBA Excel по тематическим разделам со ссылками на все статьи.

1 комментарий для “VBA Excel. Привязка события к элементу управления”

  1. Станислав

    Как же долго я разбирался почему у меня ваш код работает, а мой нет. Хотя уже все 10 раз перепроверил (вроде бы). Я уже 100500 способов перепробовал, перелопатил весь код, «оптимизировал» и изменял все подряд. Дошел до того, что начал построчно копировать и сверять и понял, что я невнимательный балбес которому надо еще много читать и изучать.
    Спасибо за ваш труд. Очень помогло.

Добавить комментарий

Ваш комментарий будет опубликован после прохождения обязательной модерации. Исходящие ссылки не допускаются. Время модерации составит от нескольких минут до нескольких часов в зависимости от времени суток и занятости модератора.