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

Застосовується до
Excel для Microsoft 365 Excel для Microsoft 365 для Mac Excel 2024 Excel 2024 для Mac Excel 2021 Excel 2021 для Mac

Якщо книга містить макрос Visual Basic for Applications (VBA), який потрібно використати в іншому місці, можна скопіювати модуль, що містить цей макрос, до іншої відкритої книги за допомогою редактора Visual Basic (VBE).

Примітка.

В Excel 2021 і новіших версіях макроси вимкнуто за замовчуванням із міркувань безпеки. Можливо, потрібно змінити параметри захисту від макросів у програмі Excel Змініть настройки захисту від макросів у програмі Excel , перш ніж їх можна буде запустити.

Макроси та інструменти VBA розташовано на вкладці " Розробник ". Цю вкладку за замовчуванням приховано, тому спочатку потрібно її ввімкнути.

  • У Windows перейдіть до розділу "Параметри>файлу>" та натисніть кнопку"Настроювання стрічки".
  • Для Mac перейдіть до Excel>Preferences...>Стрічка & панелі інструментів.
  • Далі в розділі " Настроювання стрічки " в групі " Основні вкладки" встановіть прапорець "Розробник ".

Огляд макросів і 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 виберіть пункт «Вікно проекту» Зображення кнопки «Провідник проекту». або натисніть клавіші Ctrl+R.

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

  1. Module1 скопійовано з Book2.xlsm
  2. Копію Модуля1 скопійовано до Книги1.xlsm

Примітка.

  • Якщо вимкнути макроси, скопійований модуль відображається в цільовій книзі, але не запускається, доки не буде ввімкнуто макроси.
  • У керованих середовищах ІТ-політики можуть перешкоджати запуску макросів або функцій VBA.
  • Можливо, дозволи, настройки безпеки або заблокований вміст макросів перешкоджають копіюванню модулів між книгами.

Потрібна додаткова довідка?

Ви завжди можете поставити запитання експерту в спільноті Tech у Excel або отримати підтримку в спільнотах.