Найти в Дзене
VBA Excel с нуля

VBA Excel № 76. Типы событий.

В различных примерах макросов, которые мы будем рассматривать далее, представлены коды обработки событий, которые автоматически активируется при возникновении соответствующих действий. Событие представляет собой определенное действие, происходящее в ходе использования Excel. Все взаимодействие в Excel осуществляется через объекты событий. Примеры таких событий включают: Возможность указать Excel на выполнение определенного макроса или фрагмента кода при наступлении конкретного события предоставляет пользователю большой контроль над процессом. Excel способен отслеживать разнообразные события, классифицируемые следующим образом: Оба этих события предоставляют дополнительные возможности для автоматизации и управления процессами в Excel, основываясь на времени и вводе пользователя. Последовательность событий в Microsoft Excel может быть довольно разнообразной, особенно когда одно действие вызывает несколько событий. Например, при добавлении нового листа в рабочую книгу, возникают три событ
Скриншот с моего ноутбука
Скриншот с моего ноутбука

В различных примерах макросов, которые мы будем рассматривать далее, представлены коды обработки событий, которые автоматически активируется при возникновении соответствующих действий. Событие представляет собой определенное действие, происходящее в ходе использования Excel.

Все взаимодействие в Excel осуществляется через объекты событий. Примеры таких событий включают:

  • открытие рабочей книги,
  • добавление листа,
  • изменение значения в ячейке,
  • сохранение книги,
  • двойной щелчок на ячейке и многие другие.

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

Excel способен отслеживать разнообразные события, классифицируемые следующим образом:

  1. События объекта Workbook: Связаны с конкретной рабочей книгой. Примерами являются события Open (возникает при открытии или создании книги), BeforeSave (предшествует сохранению книги) и NewSheet (возникает при добавлении нового листа).
  2. События объекта Worksheet: Происходят в определенном рабочем листе. Сюда входят события, такие как Change (изменение содержимого ячейки), SelectionChange (изменение расположения курсора) и Calculate (пересчет значений листа).
  3. События объекта Chart: Связаны с диаграммами. К ним относятся Select (выделение объекта на диаграмме) и SeriesChange (изменение значения точки данных ряда).
  4. События объекта Application: Происходят в приложении Excel. Сюда включаются NewWorkbook (создание новой книги), WorkbookBeforeClose (закрытие одной из книг) и SheetChange (изменение содержимого ячейки в книге). Для управления событиями объекта Application используется модуль класса.
  5. События объекта UserForm: Происходят в определенном диалоговом окне UserForm или в его элементах. Например, событие Initialize возникает перед отображением диалогового окна UserForm, а событие Click элемента управления CommandButton возникает после щелчка на кнопке.
  6. События, не связанные с объектами: Эта категория включает события уровня приложения (объекта Application), такие как OnTime и OnKey. Они работают по-разному по сравнению с остальными событиями.
  • OnTime: Это событие возникает по истечении определенного времени. Например, вы можете настроить макрос на выполнение через определенные промежутки времени, используя OnTime. Это может быть полезно для автоматизации определенных задач, которые требуют периодического выполнения.
  • OnKey: Это событие срабатывает при нажатии определенной клавиши на клавиатуре. Вы можете связать выполнение макроса или кода с конкретной клавишей. Например, при нажатии определенной комбинации клавиш, можно автоматически запускать определенные действия.
Оба этих события предоставляют дополнительные возможности для автоматизации и управления процессами в Excel, основываясь на времени и вводе пользователя.

Последовательность событий в Microsoft Excel может быть довольно разнообразной, особенно когда одно действие вызывает несколько событий. Например, при добавлении нового листа в рабочую книгу, возникают три события на уровне объекта Application:

  • WorkbookNewSheet: Это событие происходит при добавлении нового листа в рабочую книгу.
  • Sheet Deactivate: Возникает, когда отменяется выделение активного листа.
  • SheetActivate: Происходит, когда активируется (выделяется) добавленный лист.
Важно отметить, что последовательность событий может быть гораздо более сложной, чем может показаться на первый взгляд. Указанные выше события происходят на уровне объекта Application. При добавлении нового листа также могут произойти дополнительные события на уровне объектов Workbook и Worksheet.

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

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