Kako izvoziti vse makre iz enega delovnega zvezka v drugega?
Če morate iz ene delovne knjige v drugo izvoziti več kod makro vba, jih lahko običajno kopirate eno za drugo. Toda to bo zamudno, v tem članku bom govoril o tem, kako hitro izvoziti vse makre iz enega delovnega zvezka v drugega in shraniti makro datoteke tudi v določeno mapo.
Izvozite vse makre iz enega delovnega zvezka v drugega s kodo VBA
Izvozite vse makre iz enega delovnega zvezka v drugega s kodo VBA
Če želite izvoziti vse makro vba kode iz ene datoteke Excel v drugo, naredite naslednje:
1. Najprej odprite dve delovni zvezki hkrati, ena vsebuje makre, druga pa tista, v katero želite izvoziti makre, glejte posnetek zaslona:
Kartica Office - Odprite, preberite, uredite in upravljajte več dokumentov Office v enem oknu z zavihki
Zavihek Office omogoča brskanje, urejanje in upravljanje aplikacij Microsoft Office z zavihki. V enem oknu z zavihki lahko odprete več dokumentov / datotek, na primer z brskalnikom IE 8/9/10, Firefox in Google Chrome. Kliknite za prenos in brezplačno preskusno različico zdaj! |
2. Držite tipko ALT + F11 tipke za odpiranje Microsoft Visual Basic za aplikacije okno.
3. Kliknite Vstavi > Modul, in v mapo prilepite naslednji makro Moduli Okno.
Koda VBA: Izvozite vse makre iz enega delovnega zvezka v drugega:
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
Opombe: V zgornji kodi jestari delovni zvezek"Je ime delovnega zvezka, iz katerega želite izvoziti makre, in"nov delovni zvezek"Je delovni zvezek, v katerega želite uvoziti makre. Imena bi morali spremeniti v svoja. Oba delovna zvezka bi morala biti xlsm format datoteke.
4. Ko prilepite zgornjo kodo, pritisnite F5 tipko za zagon te kode in a Brskanje prikaže se okno, izberite mapo, kamor želite shraniti izvožene makro datoteke, glejte posnetek zaslona:
5. Nato kliknite OK in vsi makri so bili izvoženi iz navedenega delovnega zvezka v drugo Excelovo datoteko, makro datoteke pa so bile shranjene tudi v določeno mapo. Oglejte si posnetek zaslona:
Opombe: Ta koda lahko izvozi makre samo iz običajnega modula.
Najboljša pisarniška orodja za produktivnost
Napolnite svoje Excelove spretnosti s Kutools za Excel in izkusite učinkovitost kot še nikoli prej. Kutools za Excel ponuja več kot 300 naprednih funkcij za povečanje produktivnosti in prihranek časa. Kliknite tukaj, če želite pridobiti funkcijo, ki jo najbolj potrebujete...
Kartica Office prinaša vmesnik z zavihki v Office in poenostavi vaše delo
- Omogočite urejanje in branje z zavihki v Wordu, Excelu, PowerPointu, Publisher, Access, Visio in Project.
- Odprite in ustvarite več dokumentov v novih zavihkih istega okna in ne v novih oknih.
- Poveča vašo produktivnost za 50%in vsak dan zmanjša na stotine klikov miške za vas!