VBA-Урок 12.1. Пользовательские формы (UserForm)

Чтобы добавить UserForm, нужно сделать то же самое, когда мы добавляем новый модуль:

После этого появится форма (UserForm) и панель инструментов (Toolbox):

Если вы не видите окно Свойства ( Properties ), убедитесь, что оно отображено и тогда начните с изменения названия Формы (так, чтобы вы ее легко могли найти позже):

Вид ( UserForm ) имеет свои собственные события, подобно тому, как имеет рабочая книга или лист. Чтобы добавить событие, дважды щелкните по Форме (UserForm).

Теперь давайте создадим два события, чтобы посмотреть как это работает. Первое событие будет определять начальный размер Формы , и второе - увеличивать ее размеры на 50 пикселей, когда пользователь щелкает.

Событие UserForm_Initialize будет срабатывать когда Форма запускается:

Private Sub UserForm_Initialize ()
my_userform.Height = 100
my_userform.Width = 100
End Sub

Для упрощения кода, мы можем использовать Me вместо названия формы (так как этот код есть в Форме , с которой мы работаем):

Private Sub UserForm_Initialize()
     Me.Height = 100
     Me.Width = 100
End Sub

Второе событие будет возникать когда пользователь будут кликать по Форме:

Private Sub UserForm_Initialize()
     Me.Height = 100
     Me.Width = 100
End Sub

Private Sub UserForm_Click()
     Me.Height = Me.Height + 50
     Me.Width = Me.Width + 50
End Sub

Запуск формы (UserForm)

Чтобы запустить Форму в процедуре, используйте Show:

Sub show_userform()
     my_userform.Show
End Sub

Статьи по теме:

  • VBA-Урок 11.2. События рабочего листа (Worksheet Events)
  • VBA-Урок 12.2. Элементы управления (Controls)