Hogyan lehet exportálni az összes makrót egy munkafüzetből egy másikba?
Ha több makró vba kódot kell exportálnia egyik munkafüzetből a másikba, normálisan egyesével másolhatja őket. De ez időigényes lesz, erről a cikkről arról fogok beszélni, hogyan lehet gyorsan exportálni az összes makrót az egyik munkafüzetből a másikba, és a makrófájlokat egy adott mappába is menteni.
Exportálja az összes makrót egyik munkafüzetből a másikba VBA kóddal
Exportálja az összes makrót egyik munkafüzetből a másikba VBA kóddal
Ha az összes makró vba kódot egyik Excel fájlból a másikba szeretné exportálni, tegye a következőket:
1. Először meg kell nyitnia a két munkafüzetet egyszerre, az egyik makrókat tartalmaz, a másik a makrókat exportálni akarja, lásd a képernyőképet:
Office lap – Több Office-dokumentumot nyithat meg, olvashat, szerkeszthet és kezelhet egyetlen füles ablakban
Az Office Tab lehetővé teszi a lapos böngészést, a Microsoft Office alkalmazások szerkesztését és kezelését. Több dokumentumot/fájlt is megnyithat egyetlen füles ablakban, például az IE 8/9/10 böngésző, a Firefox és a Google Chrome használatával. Kattintson a letöltéshez és ingyenes próbaverzió most! |
2. Tartsa lenyomva a ALT + F11 billentyűk megnyitásához Microsoft Visual Basic for Applications ablak.
3. Kattints betétlap > Modul, és illessze be a következő makrót a Modulok Ablak.
VBA-kód: Az összes makró exportálása egyik munkafüzetből a másikba:
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
Megjegyzések: A fenti kódban:régi-munkafüzet”Annak a munkafüzetnek a neve, amelyből exportálni szeretné a makrókat, ésúj-munkafüzet”Az a munkafüzet, amelybe importálni szeretné a makrókat. Meg kell változtatnia a neveket a sajátjaira. A két munkafüzetnek meg kell lennie xlsm fájlformátum.
4. A fenti kód beillesztése után nyomja meg a gombot F5 kulcs a kód futtatásához, és a Tallózás ablak megjelenik, kérjük, válasszon egy mappát az exportált makró fájlok elhelyezéséhez, lásd a képernyőképet:
5. Ezután kattintson OK gombra, és az összes makrót exportálta a megadott munkafüzetből egy másik Excel fájlba, és a makró fájlokat is elmentette az adott mappába. Lásd a képernyőképet:
Megjegyzések: Ez a kód csak a normál modulból exportálja a makrókat.
A legjobb irodai hatékonyságnövelő eszközök
Töltsd fel Excel-készségeidet a Kutools for Excel segítségével, és tapasztald meg a még soha nem látott hatékonyságot. A Kutools for Excel több mint 300 speciális funkciót kínál a termelékenység fokozásához és az időmegtakarításhoz. Kattintson ide, hogy megszerezze a leginkább szükséges funkciót...
Az Office lap füles felületet hoz az Office-ba, és sokkal könnyebbé teszi a munkáját
- Füles szerkesztés és olvasás engedélyezése Wordben, Excelben és PowerPointban, Publisher, Access, Visio és Project.
- Több dokumentum megnyitása és létrehozása ugyanazon ablak új lapjain, mint új ablakokban.
- 50% -kal növeli a termelékenységet, és naponta több száz kattintással csökkenti az egér kattintását!