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)