Hoe exporteer ik alle macro's van de ene werkmap naar een andere werkmap?
Als u meerdere macro-vba-codes van de ene werkmap naar de andere moet exporteren, kunt u deze normaal een voor een kopiëren. Maar dit zal tijdrovend zijn, dit artikel, ik zal het hebben over hoe je snel alle macro's van de ene werkmap naar de andere kunt exporteren en de macrobestanden ook in een specifieke map kunt opslaan.
Exporteer alle macro's van de ene werkmap naar de andere met VBA-code
Exporteer alle macro's van de ene werkmap naar de andere met VBA-code
Om alle macro-vba-codes van het ene Excel-bestand naar het andere te exporteren, voert u de volgende stappen uit:
1. Ten eerste moet u de twee werkmappen tegelijkertijd openen, de ene bevat macro's, de andere is degene waarnaar u macro's wilt exporteren, zie screenshot:
Office Tab-Open, lees, bewerk en beheer meerdere Office-documenten in een enkel venster met tabbladen
Met de Office-tab kunt u Microsoft Office-toepassingen doorbladeren, bewerken en beheren. U kunt meerdere documenten / bestanden openen in een enkel venster met tabbladen, zoals door de browser IE 8/9/10, Firefox en Google Chrome te gebruiken. Klik om te downloaden en gratis proef nu! |
2. Houd de ALT + F11 toetsen om de te openen Microsoft Visual Basic voor toepassingen venster.
3. Klikken Invoegen > module, en plak de volgende macro in het Module Venster.
VBA-code: exporteer alle macro's van de ene werkmap naar de 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: In de bovenstaande code, "oud werkboek"Is de naam van de werkmap waaruit u de macro's wilt exporteren, en"nieuw-werkboek”Is de werkmap waarin u de macro's wilt importeren. U moet de namen in uw eigen naam veranderen. Beide werkmappen zouden moeten zijn xlsm bestandsformaat.
4. Nadat u de bovenstaande code hebt geplakt, drukt u op F5 sleutel om deze code uit te voeren, en een Blader venster wordt weergegeven, kies een map om de geëxporteerde macrobestanden in te plaatsen, zie screenshot:
5. Dan klikken OK knop, en alle macro's zijn geëxporteerd vanuit uw opgegeven werkmap naar een ander Excel-bestand, en de macrobestanden zijn ook opgeslagen in de specifieke map. Zie screenshot:
Note: Deze code kan alleen de macro's exporteren vanuit de normale module.
Beste Office-productiviteitstools
Geef uw Excel-vaardigheden een boost met Kutools voor Excel en ervaar efficiëntie als nooit tevoren. Kutools voor Excel biedt meer dan 300 geavanceerde functies om de productiviteit te verhogen en tijd te besparen. Klik hier om de functie te krijgen die u het meest nodig heeft...
Office-tabblad Brengt een interface met tabbladen naar Office en maakt uw werk veel gemakkelijker
- Schakel bewerken en lezen met tabbladen in Word, Excel, PowerPoint in, Publisher, Access, Visio en Project.
- Open en maak meerdere documenten in nieuwe tabbladen van hetzelfde venster in plaats van in nieuwe vensters.
- Verhoogt uw productiviteit met 50% en vermindert honderden muisklikken voor u elke dag!