Если книга содержит макрос Visual Basic для приложений (VBA), который вы хотите использовать в другом месте, можно скопировать модуль, содержащий этот макрос, в другую открытую книгу с помощью редактора 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 в меню Вид выберите Проект Обозреватель
нажмите клавиши CTRL+R.В области Project Обозреватель перетащите модуль, содержащий макрос, который нужно скопировать, в целевую книгу. В этом случае вы копируете Module1 из Book2.xlsm в Book1.xlsm.
- Module1, скопированный из Book2.xlsm
- Копия Модуля 1, скопированная в Book1.xlsm
Примечание
- Если макросы отключены, скопированный модуль отображается в целевой книге, но не выполняется, пока макросы не будут включены.
- В управляемых средах ИТ-политики могут препятствовать запуску макросов или функций VBA.
- Вы можете столкнуться с разрешениями, параметрами безопасности или заблокированным содержимым макросов, которые препятствуют копированию модулей между книгами.
Дополнительные сведения
Вы всегда можете обратиться к эксперту в техническом сообществе Excel или получить поддержку в сообществах.