Событие Activate
События объекта Worksheet
Событие SheetActivate
Событие BeforeClose
Аналогично создается обработка события при закрытии рабочей книги за тем исключением, что в списке процедур необходимо выбрать событие BeforeClose.
Рассмотрим ещё одно часто используемое событие SheetActivate. Оно наступает при активизации любого листа рабочей книги. Следующий пример демонстрирует обработку этого события (вывод на экран названия активизированного листа):
Private Sub Workbook_SheetActivate(ByVal Sh As Object)MsgBox Sh.Name End SubСобытия на уровне рабочего листа возникают в случае его активизации или деактивизации, изменений в нем самом или в сводных таблицах. Ниже приведен список событий объекта Worksheet.
Событие | Описание |
Activate | При активизации текущего листа |
BeforeDoubleClick | При двойном щелчке по ячейке рабочего листа |
BeforeRightClick | При щелчке правой кнопкой мышки по ячейке рабочего листа |
Calculate | При пересчете ячеек |
Change | При изменении содержимого ячеек пользователем или внешней связью |
SelectionChange | При выделении другой ячейки/диапазона ячеек |
Deactivate | При деактивизации текущего листа |
FollowHyperlink | При щелчке по гиперссылке |
PivotTableUpdate | При обновлении сводной таблицы |
Рассмотрим некоторые события объекта Worksheet.
Событие Activate возникает, когда лист становится текущим. Напишем программу, которая выполняется при активизации листа Лист1 и выводит на экран его имя:
Private Sub Worksheet_Activate()
MsgBox "Активный лист - " & ActiveSheet.Name
Для того чтобы ввести эту программу:
1. В окне проекта щелкните Лист1 (Рис. 13‑2Рис. 12‑1).
2. В списке объектов выберите WorkSheet, а в списке процедур – событие Activate (Рис. 13‑2)
Рис. 13‑2.
3. Введите код.
4. Перейдите в Excel и протестируйте программу. Обратите внимание: при щелчке по Лист2 сообщение не выводится!