| Событие | Синтаксис заголовка процедуры | Описание |
| Activate | Private Sub object_Activate() | Инициируется всякий раз, когда окно формы становится активным. Используйте это событие для обновления содержимого диалоговых элементов управления, чтобы отразить любые изменения, которые произошли, пока окно было неактивным |
| Click | Private Sub object_Click() | Инициируется всякий раз, когда по форме (любой ее части, не занятой элементами управления) щелкают мышью |
| DblClick | Private Sub object_DblClick() | Инициируется всякий раз, когда по форме (любой ее части, не занятой элементами управления) дважды щелкают мышью |
| Deactivate | Private Sub object_Deactivate() | Инициируется всякий раз, когда форма перестает быть активной |
| Initialize | Private Sub object_Initialize() | Инициируется всякий раз, когда форма впервые загружается в память посредством выполнения оператора Load или с помощью метода Show. Используйте это событие для инициализации элементов управления формы при ее появлении на экране |
| Resize | Private Sub object_Resize() | Инициируется при изменении размеров формы |
| Terminate | Private Sub object_ Terminate() | Инициируется всякий раз, когда форма выгружается из памяти. Используйте это событие для осуществления любых специальных служебных задач, которые необходимо выполнить прежде, чем переменные формы будут выгружены |
Элементы управления
Объект UserForm может содержать те же элементы управления, что и находящиеся в диалоговых окнах Word, Excel или других приложений Windows (таблица. Стандартные элементы управления, включенные в VBA). Элементы управления - это элементы диалогового окна, позволяющие пользователю взаимодействовать с программой. Они включают в себя кнопки-переключатели, текстовые поля, линейки прокрутки, командные кнопки и так далее
Стандартные элементы управления, включенные в VBA
| Элемент управления | Назначение |
| Label (надпись, метка) | Позволяет создавать заголовки элементов управления, которые не имеют собственных встроенных заголовков |
| TextBox (текстовое поле) | Окно редактируемого текста свободной формы для ввода данных. Может быть одно- или многострочным |
| ComboBox (поле со списком) | Этот элемент управления объединяет окно редактирования и окно списка. Используйте, когда хотите предложить пользователю выбрать значение, но при этом дать ему возможность ввести данные, отсутствующие в списке |
| ListBox (список) | Отображает список значений, из которых пользователь может сделать выбор. Окна списка можно использовать, чтобы дать возможность пользователю выбрать только одно значение или же несколько |
| CheckBox (флажок) | Стандартный флажок (квадратное окно, содержащее, если элемент выбран, галочку). Используйте флажки для выбора вариантов, которые не являются взаимоисключающими |
| OptionButton (переключатель) | Стандартная кнопка-переключатель (круглое окно, при выборе в центре него находится черная точка). Используйте OptionButton, когда пользователю необходимо сделать выбор между положениями «включено/выключено» или «истина/ложь». Кнопки-переключатели, как правило, объединяются вместе при помощи рамки для создания группы переключателей |
| ToggleButton (выключатель) | Выключатели служат для той же цели, что и флажки, но выводят установки в виде кнопки, находящейся в «нажатом» или «отжатом» состоянии |
| Frame (рамка) | Визуально и логически объединяет некоторые элементы управления (особенно флажки, переключатели и выключатели) |
| CommandButton (кнопка) | Используйте кнопки для выполнения таких действий, как Cancel (Отмена), Save (Сохранить), ОК и так далее Когда пользователь щелкает по кнопке, выполняется VBA-процедура, закрепленная за данным элементом управления |
| TabStrip (набор вкладок) | Этот элемент управления состоит из области, в которую вы помещаете другие элементы управления (такие как текстовые поля, флажки и так далее) и полосы кнопок табуляции. Используйте элемент управления TabStrip для создания диалоговых вкладок, отображающих одни и те же данные в различных категориях |
| MultiPage (набор страниц) | Этот элемент управления состоит из нескольких страниц. Вы можете выбрать любую из них, щелкнув по соответствующей вкладке. Используйте элемент управления MultiPage для создания диалоговых окон с вкладками |
| ScrollBar (полоса прокрутки) и SpinButton (счетчик) | Элемент управления ScrollBar позволяет выбирать линейное значение аналогично тому, как это можно сделать при помощи счетчика. Элемент управления SpinButton является специальной разновидностью текстового поля |
| Image (рисунок) | Элемент управления Image позволяет вывести на форме графическое изображение. Используйте Image для вывода графических изображений в любом из следующих форматов: *.bmp, *.cur, *.gif, *.ico, *.jpg или *.wmf |
Обращение к элементам управления происходит в основном через их свойства и с помощью процедур обработки событий, написанных для каждого элемента (таблица. Cвойства стандартных элементов управления).
Cвойства стандартных элементов управления
| Свойство | Где применяется | Описание |
| Accelerator | CheckBox, Tab, CommandButton, Label, Page, OptionButton, ToggleButton | Содержит символ, используемый в качестве быстрой клавиши вызова, элемента управления, при нажатии Аlt + <клавиша быстрого вызова> происходит выбор элемента управления |
| BackColor | Все элементы | Число, представляющее определенный цвет фона элемента управления |
| Caption | CheckBox, CommandButton, Frame, Label, OptionButton, ToggleButton, Page, Tab, UserForm | Для надписи - текст, отображаемый элементом управления. Для других элементов управления - надпись, которая появляется на кнопке или вкладке или рядом с рамкой, флажком или переключателем |
| Cancel | CommandButton | Задает кнопку отмены диалогового окна. При нажатии на эту кнопку или клавишу Esc диалоговое окно исчезает. Только одна кнопка формы может иметь данное свойство |
| ControlTip-Text | Все элементы управления | Устанавливает текст, который отображается в виде всплывающей подсказки (ControlTip, называемой также ToolTip), когда указатель мыши помещается на элемент управления |
| Default | CommandButton | Определяет заданную по умолчанию кнопку. Когда пользователь нажимает в процессе диалога клавишу Enter, эта кнопка ведет себя так, как если бы по ней щелкнули мышью |
| Enabled | Все элементы управления | Хранит значение типа Boolean, определяющее, доступен или нет элемент управления. Если Enabled имеет значение False, то элемент управления продолжает отображаться в диалоговом окне, но не может быть выбран |
| ForeColor | Все элементы управления | То же самое, что и BackColor, но устанавливает цвет для переднего плана элемента управления, как правило, символов текста |
| List | ComboBox | Массив типа variant (одно- или многомерный), представляет список, содержащийся в элементе управления |
| Max | ScrollBar, SpinButton | Переменная типа Long, определяющая максимальное значение счетчика, или значение, при котором полоса прокрутки находится в самом верху (для вертикальной полосы) или справа (для горизонтальной) |
| Min | ScrollBar, SpinButton | Переменная типа Long, определяющая минимальное значение счетчика, или значение, при котором полоса прокрутки находится в самом низу (для вертикальной полосы) или слева (для горизонтальной) |
| Name | Все элементы управления | Содержит имя элемента управления. Вы можете установить данное свойство только с помощью Properties Window |
| RowSource | ComboBox | Задает источник, из которого ListBox берет список объекта. В Excel VBA RowSource обычно использует диапазон рабочего листа |
| Selected | ListBox | Возвращает массив значений типа Boolean для списка, который допускает множественный выбор. Каждый элемент массива содержит по одному элементу, соответствующему каждому пункту списка. Если значение элемента в массиве selected равно True, то соответствующий пункт списка выбран |
| TabIndex | Все элементы управления | Число, указывающее положение элемента управления в порядке табуляции (может иметь значение от 0 до значения, равного количеству элементов управления на форме) |
| TabStop | Все элементы управления | Значение типа Boolean, указывающее, может ли элемент управления быть выбран клавишей Tab. Если значение TabStop равно False, вы тем не менее можете щелкнуть на элементе и таким образом его выбрать |
| Value | Все элементы управления | Значение текущих установок элемента управления: текст в текстовом поле, какие выбраны флажки и переключатели, индекс выбранного раздела списка или число, указывающее текущее положение полосы прокрутки или счетчика |
| Visible | Все элементы управления | Значение типа Boolean, указывающее, является ли элемент управления видимым |