Hur exporterar jag alla makron från en arbetsbok till en annan arbetsbok?
Om du behöver exportera flera makro-VBA-koder från en arbetsbok till en annan, kan du kopiera dem en efter en normalt. Men detta kommer att vara tidskrävande, den här artikeln kommer jag att prata om hur man snabbt exporterar alla makron från en arbetsbok till en annan och sparar makrofilerna till en viss mapp också.
Exportera alla makron från en arbetsbok till en annan med VBA-kod
Exportera alla makron från en arbetsbok till en annan med VBA-kod
För att exportera alla makro-VBA-koder från en Excel-fil till en annan gör du med följande steg:
1. Först bör du öppna de två arbetsböckerna samtidigt, en innehåller makron, den andra är den du vill exportera makron till, se skärmdump:
Fliken Office - Öppna, läs, redigera och hantera flera Office-dokument i ett enda flikfönster
Office-fliken möjliggör surfning, redigering och hantering av Microsoft Office-applikationer på flikar. Du kan öppna flera dokument / filer i ett enda flikfönster, till exempel genom att använda webbläsaren IE 8/9/10, Firefox och Google Chrome. Klicka för att ladda ner och gratis testversion nu! |
2. Håll ner ALT + F11 nycklar för att öppna Microsoft Visual Basic för applikationer fönster.
3. Klicka Insert > Modul, och klistra in följande makro i Modulerna Fönster.
VBA-kod: Exportera alla makron från en arbetsbok till en annan:
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
Anmärkningar: I ovanstående kod, “gammal arbetsbok”Är namnet på arbetsboken som du vill exportera makron från och”ny arbetsbok”Är arbetsboken som du vill importera makron. Du bör ändra namnen till dina egna. Båda de två arbetsböckerna borde vara xlsm filformat.
4. Efter att ha klistrat in ovanstående kod, tryck sedan på F5 nyckel för att köra den här koden och en Bläddra fönstret visas, välj en mapp för att placera de exporterade makrofilerna, se skärmdump:
5. Klicka sedan OK knappen, och alla makron har exporterats från din angivna arbetsbok till en annan Excel-fil, och makrofilerna har också sparats i den specifika mappen. Se skärmdump:
Anmärkningar: Den här koden kan bara exportera makron från normal modul.
Bästa kontorsproduktivitetsverktyg
Uppgradera dina Excel-färdigheter med Kutools för Excel och upplev effektivitet som aldrig förr. Kutools för Excel erbjuder över 300 avancerade funktioner för att öka produktiviteten och spara tid. Klicka här för att få den funktion du behöver mest...
Fliken Office ger ett flikgränssnitt till Office och gör ditt arbete mycket enklare
- Aktivera flikredigering och läsning i Word, Excel, PowerPoint, Publisher, Access, Visio och Project.
- Öppna och skapa flera dokument i nya flikar i samma fönster, snarare än i nya fönster.
- Ökar din produktivitet med 50 % och minskar hundratals musklick för dig varje dag!