Учебники

Макросы Excel — Настройка макроса

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

Вы также можете написать код VBA для той же цели с помощью события Open рабочей книги. Событие Open запускает код в подпроцедуре Workbook_Open () каждый раз, когда вы открываете книгу.

Запись макроса Auto_Open

Вы можете записать макрос Auto_Run следующим образом —

  • Нажмите вкладку VIEW на ленте.
  • Нажмите Макросы.
  • Нажмите Запись макроса. Откроется диалоговое окно «Запись макроса».
  • Введите Auto_Run в качестве имени макроса.
  • Введите описание и нажмите ОК.

Auto_Open

  • Начните запись макроса.
  • Остановить запись.
  • Сохранить рабочую книгу как макрокоманду.
  • Закройте рабочую книгу.
  • Откройте рабочую книгу. Макрос Auto_Run запустится автоматически.

Если вы хотите, чтобы Excel запускался без запуска макроса Auto_Open, удерживайте клавишу SHIFT при запуске Excel.

Ограничения Auto_Open Macro

Ниже приведены ограничения макроса Auto_Open:

  • Если рабочая книга, в которой вы сохранили макрос Auto_Open, содержит код для события Open книги, код события Open переопределит действия в макросе Auto_Open.

  • Макрос Auto_Open игнорируется, когда книга открывается при запуске кода, использующего метод Open.

  • Макрос Auto_Open запускается до открытия любых других книг. Следовательно, если вы записываете действия, которые вы хотите, чтобы Excel выполнял в книге Book1 по умолчанию или в книге, загруженной из папки XLStart, макрос Auto_Open завершится ошибкой при перезапуске Excel, поскольку макрос запускается до открытия книг по умолчанию и запуска книг. ,

Если рабочая книга, в которой вы сохранили макрос Auto_Open, содержит код для события Open книги, код события Open переопределит действия в макросе Auto_Open.

Макрос Auto_Open игнорируется, когда книга открывается при запуске кода, использующего метод Open.

Макрос Auto_Open запускается до открытия любых других книг. Следовательно, если вы записываете действия, которые вы хотите, чтобы Excel выполнял в книге Book1 по умолчанию или в книге, загруженной из папки XLStart, макрос Auto_Open завершится ошибкой при перезапуске Excel, поскольку макрос запускается до открытия книг по умолчанию и запуска книг. ,

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

Код VBA для открытого события рабочей книги

Вы можете написать код, который будет выполняться при открытии книги. VBA предоставляет вам событие open, которое включает в себя процедуру VBA для действий, которые необходимо выполнить при открытии рабочей книги.

Откройте книгу, в которой вы сохранили макрос, который вы написали для абсолютных ссылок — Report_ProjectXYZ. Когда этот макрос выполняется, новый лист будет добавлен в рабочую книгу, а структура отчета проекта появится на новом листе.

Вы можете написать код макроса, который будет выполнять эти действия при открытии книги. Это означает, что когда вы откроете рабочую книгу «Отчет по проекту», вам будет готов новый рабочий лист со структурой отчета для ввода деталей.

Следуйте приведенной ниже процедуре в редакторе VBA.

  • Дважды щелкните ThisWorkbook в Projects Explorer.

  • В окне кода выберите Workbook в левом раскрывающемся списке и Open в правом раскрывающемся списке. Sub Workbook_Open () появляется.

Дважды щелкните ThisWorkbook в Projects Explorer.

В окне кода выберите Workbook в левом раскрывающемся списке и Open в правом раскрывающемся списке. Sub Workbook_Open () появляется.

Workbook_Open

  • Нажмите Модули в проводнике проектов.

  • Дважды щелкните по имени модуля, содержащего код макроса.

  • Скопируйте код макроса из модуля и вставьте его в Sub WorkBook_Open ().

Нажмите Модули в проводнике проектов.

Дважды щелкните по имени модуля, содержащего код макроса.

Скопируйте код макроса из модуля и вставьте его в Sub WorkBook_Open ().

Sub Workbook_open

Сохраните книгу с поддержкой макросов. Откройте его снова. Макрос запускается и вставляется новый лист со структурой отчета.