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

Эти события могут происходить на уровне листа или книги.

Самый простой способ узнать, какие события рабочего листа доступны, — это выполнить следующие действия:

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

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

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

  4. Дважды щелкните лист, с которым хотите работать. Для рабочего листа должно появиться окно кода.

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

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

Активировать BeforeDoubleClick BeforeRightClick Calculate Change Деактивировать FollowHyperlink PivotTableUpdate * SelectionChange

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

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

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

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

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

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

link: / excelribbon-Worksheet_Events [Worksheet Events].