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

  1. Нажмите Alt + F11, чтобы открыть редактор VBA.

  2. В окне Project Explorer (верхний левый угол редактора VBA) найдите проект (книгу), над которым вы работаете.

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

  4. Дважды щелкните элемент ThisWorkbook. Должно появиться окно кода для книги.

  5. В верхней части окна кода книги находятся два раскрывающихся списка. В раскрывающемся списке слева выберите Книга.

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

Названия событий должны быть достаточно информативными, чтобы вы могли понять, что запускает каждое из них. Обратите внимание, что некоторые события начинаются со слова «Лист» и дублируют имена событий рабочего листа, подробно описанные в предыдущем совете. Эти события, поскольку они находятся на уровне книги, применяются к книге в целом, даже если они инициируются событиями на листе.

Например, если вы решите перехватить событие SheetActivate, макрос будет запускаться при активации любого рабочего листа в книге.

Сравните это с событием Activate на уровне рабочего листа, которое активируется только тогда, когда этот конкретный рабочий лист активирован.

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

_Примечание: _

Если вы хотите узнать, как использовать макросы, описанные на этой странице (или на любой другой странице на сайтах ExcelTips), я подготовил специальную страницу, содержащую полезную информацию.

link: / excelribbon-ExcelTipsMacros [Щелкните здесь, чтобы открыть эту специальную страницу в новой вкладке браузера].

ExcelTips — ваш источник экономичного обучения Microsoft Excel.

Этот совет (2570) относится к Microsoft Excel 97, 2000, 2002 и 2003. Вы можете найти версию этого совета для ленточного интерфейса Excel (Excel 2007 и более поздних версий) здесь:

link: / excelribbon-Workbook_Events [События рабочей книги].