Wie exportiere ich alle Makros von einer Arbeitsmappe in eine andere Arbeitsmappe?
Wenn Sie mehrere Makro-VBA-Codes von einer Arbeitsmappe in eine andere exportieren müssen, können Sie diese normalerweise einzeln kopieren. Dies ist jedoch zeitaufwändig. In diesem Artikel werde ich darüber sprechen, wie Sie schnell alle Makros von einer Arbeitsmappe in eine andere exportieren und die Makrodateien auch in einem bestimmten Ordner speichern können.
Exportieren Sie alle Makros mit VBA-Code von einer Arbeitsmappe in eine andere
Exportieren Sie alle Makros mit VBA-Code von einer Arbeitsmappe in eine andere
Führen Sie die folgenden Schritte aus, um alle Makro-VBA-Codes von einer Excel-Datei in eine andere zu exportieren:
1. Zuerst sollten Sie die beiden Arbeitsmappen gleichzeitig öffnen, eine enthält Makros, die andere ist diejenige, in die Sie Makros exportieren möchten, siehe Screenshot:
Office-Registerkarte - Öffnen, lesen, bearbeiten und verwalten Sie mehrere Office-Dokumente in einem einzigen Fenster mit Registerkarten
Die Registerkarte "Office" ermöglicht das Durchsuchen, Bearbeiten und Verwalten von Microsoft Office-Anwendungen mit Registerkarten. Sie können mehrere Dokumente / Dateien in einem einzigen Fenster mit Registerkarten öffnen, z. B. mit dem Browser IE 8/9/10, Firefox und Google Chrome. Klicken Sie hier zum Herunterladen und kostenlose Testversion! |
2. Halten Sie die Taste gedrückt ALT + F11 Schlüssel zum Öffnen der Microsoft Visual Basic für Applikationen Fenster.
3. Klicken Sie Insert > Modul, und fügen Sie das folgende Makro in das ein Modul Fenster.
VBA-Code: Exportieren Sie alle Makros von einer Arbeitsmappe in eine andere:
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: Im obigen Code “altes Arbeitsbuch"Ist der Name der Arbeitsmappe, aus der Sie die Makros exportieren möchten, und"neue Arbeitsmappe”Ist die Arbeitsmappe, in die Sie die Makros importieren möchten. Sie sollten die Namen in Ihre eigenen ändern. Beide Arbeitsmappen sollten sein xlsm Datei Format.
4. Nachdem Sie den obigen Code eingefügt haben, drücken Sie F5 Schlüssel zum Ausführen dieses Codes und a Entdecken Wenn das Fenster angezeigt wird, wählen Sie einen Ordner aus, in dem die exportierten Makrodateien abgelegt werden sollen. Siehe Screenshot:
5. Dann klick OK Klicken Sie auf die Schaltfläche, und alle Makros wurden aus Ihrer angegebenen Arbeitsmappe in eine andere Excel-Datei exportiert, und die Makrodateien wurden ebenfalls in einem bestimmten Ordner gespeichert. Siehe Screenshot:
Note: Dieser Code kann nur die Makros aus dem normalen Modul exportieren.
Beste Office-Produktivitätstools
Verbessern Sie Ihre Excel-Kenntnisse mit Kutools für Excel und erleben Sie Effizienz wie nie zuvor. Kutools für Excel bietet über 300 erweiterte Funktionen, um die Produktivität zu steigern und Zeit zu sparen. Klicken Sie hier, um die Funktion zu erhalten, die Sie am meisten benötigen ...
Office Tab Bringt die Oberfläche mit Registerkarten in Office und erleichtert Ihnen die Arbeit erheblich
- Aktivieren Sie das Bearbeiten und Lesen von Registerkarten in Word, Excel und PowerPoint, Publisher, Access, Visio und Project.
- Öffnen und erstellen Sie mehrere Dokumente in neuen Registerkarten desselben Fensters und nicht in neuen Fenstern.
- Steigert Ihre Produktivität um 50 % und reduziert jeden Tag Hunderte von Mausklicks für Sie!