Как да експортирам всички макроси от една работна книга в друга?
Ако трябва да експортирате множество макро кодове vba от една работна книга в друга, можете да ги копирате един по един нормално. Но това ще отнеме много време, в тази статия ще говоря за това как бързо да експортирате всички макроси от една работна книга в друга и да запазите макро файловете в конкретна папка.
Експортирайте всички макроси от една работна книга в друга с VBA код
Експортирайте всички макроси от една работна книга в друга с VBA код
За да експортирате всички макро vba кодове от един Excel файл в друг, моля, изпълнете следните стъпки:
1. Първо, трябва да отворите двете работни книги едновременно, едната съдържа макроси, другата е тази, към която искате да експортирате макроси, вижте екранната снимка:
Раздел Office - Отваряне, четене, редактиране и управление на множество документи на Office в един прозорец с раздели
Office Tab позволява сърфиране с раздели, редактиране и управление на приложения на Microsoft Office. Можете да отваряте множество документи/файлове в един прозорец с раздели, като например с помощта на браузъра IE 8/9/10, Firefox и Google Chrome. Щракнете за изтегляне и безплатен пробен период сега! |
2. Задръжте натиснат ALT + F11 за да отворите Microsoft Visual Basic за приложения прозорец.
3. Щракнете Поставете > Модул, и поставете следния макрос в Модули Window.
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 ключ за изпълнение на този код и a паса се показва прозорец, моля, изберете папка, в която да поставите експортираните макро файлове, вижте екранната снимка:
5, След това кликнете OK и всички макроси са експортирани от посочената от вас работна книга в друг файл на Excel и макро файловете също са записани в конкретната папка. Вижте екранна снимка:
Забележка: Този код може да експортира само макроси от нормален модул.
Най-добрите инструменти за продуктивност в офиса
Усъвършенствайте уменията си за Excel с Kutools за Excel и изпитайте ефективност, както никога досега. Kutools за Excel предлага над 300 разширени функции за повишаване на производителността и спестяване на време. Щракнете тук, за да получите функцията, от която се нуждаете най-много...
Раздел Office Внася интерфейс с раздели в Office и прави работата ви много по-лесна
- Разрешете редактиране и четене с раздели в Word, Excel, PowerPoint, Publisher, Access, Visio и Project.
- Отваряйте и създавайте множество документи в нови раздели на един и същ прозорец, а не в нови прозорци.
- Увеличава вашата производителност с 50% и намалява стотици кликвания на мишката за вас всеки ден!