Если книга содержит макрос VBA (Visual Basic для приложений), который требуется использовать в другом месте, можно скопировать модуль, содержащий этот макрос, в другую открытую книгу с помощью редактора Visual Basic (VBE).
Примечание
В Excel 2021 и более новых версиях макросы по умолчанию отключены по соображениям безопасности. Возможно, потребуется изменить параметры безопасности макросов в Excel Измените параметры безопасности макросов в Excel , прежде чем они смогут запускаться.
Макросы и инструменты VBA находятся на вкладке "Разработчик ". По умолчанию эта вкладка скрыта, поэтому сначала нужно включить ее.
- В Windows перейдите враздел "Параметры>файла>" "Настроить ленту".
- Для Mac:перейдите в раздел "ПараметрыExcel>...".>Лента & панели инструментов.
- Затем в разделе "Настройка ленты" в разделе "Главные" проверка поле "Разработчик проверка".
Обзор макросов и VBA
Если вы не знакомы с макросами и VBA, следующие сведения помогут вам начать работу.
Макрос — это действие или набор действий, которые можно использовать для автоматизации задач.
Запись макросов позволяет записать макросы с помощью команды "Записать макрос " на вкладке "Разработчик ".
Макросы записываются на языке программирования VBA.
Макросы можно просматривать и редактировать в редакторе Visual Basic, открывающемся в Excel. Вот пример окна VBE для Windows:
Макросы с именем MakeCellGreen и SetRowHeight находятся в модуле Module1, хранящемся в Book1.
Чтобы сохранять макросы при сохранении книги, используйте формат файла с поддержкой макросов, например .XLSM или .XLSB. Standard .xlsx файлы не сохраняют макросы.
Копирование модуля из одной книги в другую
Откройте книгу, содержащую макрос, который нужно скопировать, и конечную книгу (с включенными макросами).
На вкладке "Разработчик " выберите Visual Basic , чтобы открыть редактор Visual Basic.
В редакторе Visual Basic в меню "Вид" выберите Project Обозреватель
или нажмите клавиши CTRL+R.В области обозревателя Project перетащите модуль с макросом, который требуется скопировать, в целевую книгу. В этом случае вы копируете Module1 из Book2.xlsm в Book1.xlsm.
- Module1 скопировано из Book2.xlsm
- Копия Module1 скопирована в Book1.xlsm
Примечание
- Если макросы отключены, скопированный модуль отображается в целевой книге, но не запускается, пока не будут включены макросы.
- В управляемых средах ИТ-политики могут запрещать запуск макросов или функций VBA.
- Вы можете столкнуться с разрешениями, параметрами безопасности или заблокированным содержимым макросов, которые не позволяют копировать модули между книгами.
Дополнительные сведения
Вы всегда можете задать вопрос эксперту в Excel Tech Community или получить поддержку в сообществах.