Как экспортировать все макросы из одной книги в другую?
Если вам нужно экспортировать несколько макросов VBA-кодов из одной книги в другую, вы можете копировать их по одному обычным способом. Но это будет отнимать много времени. В этой статье я расскажу, как быстро экспортировать все макросы из одной книги в другую и сохранить файлы макросов в определенную папку.
Экспорт всех макросов из одной книги в другую с помощью кода VBA
Экспорт всех макросов из одной книги в другую с помощью кода VBA
Чтобы экспортировать все макросы VBA-кодов из одного файла Excel в другой, выполните следующие шаги:
1. Сначала вы должны одновременно открыть две книги: одна содержит макросы, а другая — та, в которую вы хотите экспортировать макросы, см. скриншот:
Office Tab - Открывайте, читайте, редактируйте и управляйте несколькими документами Office в одном окне с вкладками Office Tab обеспечивает работу с вкладками, редактирование и управление приложениями Microsoft Office. Вы можете открывать несколько документов/файлов в одном окне с вкладками, как при использовании браузера IE 8/9/10, Firefox и Google Chrome. Нажмите, чтобы скачать и начать бесплатную пробную версию прямо сейчас!
|
2. Нажмите клавиши ALT + F11, чтобы открыть окно Microsoft Visual Basic для приложений.
3. Щелкните Вставить > Модуль, и вставьте следующий макрос в окно Модуля.
Код VBA: Экспорт всех макросов из одной книги в другую:
Sub ExportAndImportModule()
Dim xStrSWSName, xSreDWSName As String
Dim xSWS, xDWS As Workbook
xStrSWSName = "old-workbook"
xSreDWSName = "new-workbook"
Dim xFilePath As String
Dim xObjFD As FileDialog
Set xObjFD = Application.FileDialog(msoFileDialogFolderPicker)
With xObjFD
.AllowMultiSelect = False
.Show
If .SelectedItems.Count > 0 Then
xFilePath = .SelectedItems.Item(1)
Else
Exit Sub
End If
End With
On Error GoTo Err1
Set xSWS = Workbooks(xStrSWSName & ".xlsm")
Set xDWS = Workbooks(xSreDWSName & ".xlsm")
Set xvbap = xSWS.VBProject
Set xVBC = xvbap.VBComponents
For Each Module In xSWS.VBProject.VBComponents
If Module.Type = vbext_ct_StdModule Then
Module.Export (xFilePath & "\" & Module.Name & ".bas")
xDWS.VBProject.VBComponents.Import (xFilePath & "\" & Module.Name & ".bas")
End If
Next Module
Exit Sub
Err1:
MsgBox "come to nothing!"
End Sub
Примечание: В приведенном выше коде «старая-книга» — это название книги, из которой вы хотите экспортировать макросы, а «новая-книга» — это книга, в которую вы хотите импортировать макросы. Вам следует изменить названия на свои собственные. Обе книги должны быть в формате xlsm . 4. После вставки указанного выше кода нажмите клавишу F5, чтобы запустить этот код, после чего отобразится окно Обзор. Пожалуйста, выберите папку для размещения экспортированных файлов макросов, см. скриншот:
5. Затем нажмите кнопку ОК, и все макросы будут экспортированы из указанной книги в другой файл Excel, а файлы макросов также будут сохранены в указанную папку. См. скриншот:
Примечание: Этот код может экспортировать макросы только из обычного Модуля.

Раскройте магию Excel с Kutools AI
- Умное выполнение: Выполняйте операции с ячейками, анализируйте данные и создавайте диаграммы — всё это посредством простых команд.
- Пользовательские формулы: Создавайте индивидуальные формулы для оптимизации ваших рабочих процессов.
- Кодирование VBA: Пишите и внедряйте код VBA без особых усилий.
- Интерпретация формул: Легко разбирайтесь в сложных формулах.
- Перевод текста: Преодолейте языковые барьеры в ваших таблицах.
Лучшие инструменты для повышения продуктивности работы с Office
Ускорьте работу в Excel с Kutools для Excel и ощутите новую степень эффективности. Kutools для Excel предлагает более300 расширенных функций для повышения продуктивности и экономии времени. Нажмите здесь, чтобы выбрать нужную вам функцию...
Office Tab добавляет вкладки в Office и делает вашу работу намного проще
- Включите редактирование и чтение с вкладками в Word, Excel, PowerPoint, Publisher, Access, Visio и Project.
- Открывайте и создавайте несколько документов во вкладках одного окна, а не в отдельных окнах.
- Увеличьте свою продуктивность на50% и сократите сотни лишних кликов мышью каждый день!