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

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

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

Примечание

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

Макросы и средства VBA можно найти на вкладке Разработчик . Эта вкладка по умолчанию скрыта, поэтому первым шагом является ее включение.

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

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

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

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

  • Используйте команду Записать макрос на вкладке Разработчик для записи макросов.

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

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

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

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

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

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

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

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

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

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

  1. Module1, скопированный из Book2.xlsm
  2. Копия Модуля 1, скопированная в Book1.xlsm

Примечание

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

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

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