Jak wyeksportować wszystkie makra z jednego skoroszytu do innego skoroszytu?
Jeśli chcesz wyeksportować wiele kodów makr vba z jednego skoroszytu do drugiego, możesz normalnie skopiować je jeden po drugim. Ale będzie to czasochłonne, w tym artykule omówię, jak szybko wyeksportować wszystkie makra z jednego skoroszytu do drugiego i zapisać pliki makr również w określonym folderze.
Eksportuj wszystkie makra z jednego skoroszytu do drugiego za pomocą kodu VBA
Eksportuj wszystkie makra z jednego skoroszytu do drugiego za pomocą kodu VBA
Aby wyeksportować wszystkie kody makr VBA z jednego pliku Excel do innego, wykonaj następujące czynności:
1. Najpierw powinieneś otworzyć dwa skoroszyty w tym samym czasie, jeden zawiera makra, a drugi to ten, do którego chcesz wyeksportować makra, patrz zrzut ekranu:
Office Tab-Open, czytaj, edytuj i zarządzaj wieloma dokumentami Office w jednym oknie z zakładkami
Karta Office umożliwia przeglądanie, edytowanie i zarządzanie aplikacjami Microsoft Office w kartach. Możesz otworzyć wiele dokumentów / plików w jednym oknie z zakładkami, na przykład za pomocą przeglądarki IE 8/9/10, Firefox i Google Chrome. Kliknij, aby pobrać i bezpłatną wersję próbną teraz! |
2. Przytrzymaj ALT + F11 klawisze, aby otworzyć Microsoft Visual Basic for Applications okno.
3. Kliknij wstawka > Moduł, i wklej następujące makro w Moduł Okno.
Kod VBA: Eksportuj wszystkie makra z jednego skoroszytu do drugiego:
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
Note: W powyższym kodzie „stary skoroszyt”To nazwa skoroszytu, z którego chcesz wyeksportować makra, a„nowy-skoroszyt”To skoroszyt, do którego chcesz zaimportować makra. Powinieneś zmienić nazwy na własne. Oba oba skoroszyty powinny być xlsm format pliku.
4. Po wklejeniu powyższego kodu naciśnij F5 klucz do uruchomienia tego kodu oraz plik Przeglądaj zostanie wyświetlone okno, wybierz folder do umieszczenia wyeksportowanych plików makr, patrz zrzut ekranu:
5. Następnie kliknij OK przycisk, a wszystkie makra zostały wyeksportowane z określonego skoroszytu do innego pliku programu Excel, a pliki makr zostały również zapisane w określonym folderze. Zobacz zrzut ekranu:
Note: Ten kod może eksportować makra tylko z normalnego modułu.
Najlepsze narzędzia biurowe
Zwiększ swoje umiejętności Excela dzięki Kutools for Excel i doświadcz wydajności jak nigdy dotąd. Kutools dla programu Excel oferuje ponad 300 zaawansowanych funkcji zwiększających produktywność i oszczędzających czas. Kliknij tutaj, aby uzyskać funkcję, której najbardziej potrzebujesz...
Karta Office wprowadza interfejs z zakładkami do pakietu Office i znacznie ułatwia pracę
- Włącz edycję i czytanie na kartach w programach Word, Excel, PowerPoint, Publisher, Access, Visio i Project.
- Otwieraj i twórz wiele dokumentów w nowych kartach tego samego okna, a nie w nowych oknach.
- Zwiększa produktywność o 50% i redukuje setki kliknięć myszką każdego dnia!