Копирование модуля макроса в другую книгу

Применяется к
Excel для Microsoft 365 Excel для Microsoft 365 для Mac Excel 2024 Excel 2024 для Mac Excel 2021 Excel 2021 для Mac

Если книга содержит макрос VBA (Visual Basic для приложений), который требуется использовать в другом месте, можно скопировать модуль, содержащий этот макрос, в другую открытую книгу с помощью редактора Visual Basic (VBE).

Примечание

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

Макросы и инструменты VBA находятся на вкладке "Разработчик ". По умолчанию эта вкладка скрыта, поэтому сначала нужно включить ее.

  • В Windows перейдите враздел "Параметры>файла>" "Настроить ленту".
  • Для Mac:перейдите в раздел "ПараметрыExcel>...".>Лента & панели инструментов.
  • Затем в разделе "Настройка ленты" в разделе "Главные" проверка поле "Разработчик проверка".

Обзор макросов и VBA

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

  • Макрос — это действие или набор действий, которые можно использовать для автоматизации задач.

  • Запись макросов позволяет записать макросы с помощью команды "Записать макрос " на вкладке "Разработчик ".

  • Макросы записываются на языке программирования VBA.

  • Макросы можно просматривать и редактировать в редакторе Visual Basic, открывающемся в Excel. Вот пример окна VBE для Windows:

    Модуль, содержащий два макроса, хранящихся в Модуле1 Книги 1.

Макросы с именем MakeCellGreen и SetRowHeight находятся в модуле Module1, хранящемся в Book1.

Чтобы сохранять макросы при сохранении книги, используйте формат файла с поддержкой макросов, например .XLSM или .XLSB. Standard .xlsx файлы не сохраняют макросы.

Копирование модуля из одной книги в другую

  1. Откройте книгу, содержащую макрос, который нужно скопировать, и конечную книгу (с включенными макросами).

  2. На вкладке "Разработчик " выберите Visual Basic , чтобы открыть редактор Visual Basic.

  3. В редакторе Visual Basic в меню "Вид" выберите Project ОбозревательИзображение кнопки Project Обозреватель.или нажмите клавиши CTRL+R.

  4. В области обозревателя Project перетащите модуль с макросом, который требуется скопировать, в целевую книгу. В этом случае вы копируете Module1 из Book2.xlsm в Book1.xlsm.
    Область

  1. Module1 скопировано из Book2.xlsm
  2. Копия Module1 скопирована в Book1.xlsm

Примечание

  • Если макросы отключены, скопированный модуль отображается в целевой книге, но не запускается, пока не будут включены макросы.
  • В управляемых средах ИТ-политики могут запрещать запуск макросов или функций VBA.
  • Вы можете столкнуться с разрешениями, параметрами безопасности или заблокированным содержимым макросов, которые не позволяют копировать модули между книгами.

Дополнительные сведения

Вы всегда можете задать вопрос эксперту в Excel Tech Community или получить поддержку в сообществах.