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

Отнася се за
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>"...>Лентата & лентата с инструменти.
  • След това в секцията "Персонализиране на лентата ", под "Основни раздели" поставете отметка в квадратчето "Разработчик ".

Общ преглед на макросите и VBA

Ако не сте запознати с макросите и VBA, информацията по-долу може да ви помогне да започнете.

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

  • Използвайте командата "Запис на макрос " в раздела "Разработчик ", за да запишете макроси.

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

  • Можете да преглеждате и редактирате макросите в редактора на Visual Basic, прозорец, който Excel отваря. Ето пример за прозореца на VBE за Windows:

    Модул, който съдържа два макроса, съхранен в Module1 на Book1.

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

За да запазите макросите, когато записвате работната книга, използвайте файлов формат с разрешени макроси, като .xlsm или .xlsb. Standard .xlsx файлове не записват макроси.

Копиране на модул от една работна книга в друга

  1. Отворете и работната книга, съдържаща макроса, който искате да копирате, и работната книга местоназначение (когато макросите са разрешени).

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

  3. В редактора на Visual Basic, в менюто " Изглед " изберете Project ExplorerProject Explorer button image. или натиснете Ctrl+R.

  4. В прозореца на проекта плъзнете модула, съдържащ макроса, който искате да копирате, в работната книга местоназначение. В този случай копирате 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. Копие на Module1, копирано в Book1.xlsm

Забележка

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

Имате нужда от още помощ?

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