Come esportare tutte le macro da una cartella di lavoro a un'altra cartella di lavoro?
Se è necessario esportare più codici vba macro da una cartella di lavoro a un'altra, è possibile copiarli uno per uno normalmente. Ma questo richiederà molto tempo, in questo articolo parlerò di come esportare rapidamente tutte le macro da una cartella di lavoro a un'altra e salvare anche i file macro in una cartella specifica.
Esporta tutte le macro da una cartella di lavoro a un'altra con il codice VBA
Esporta tutte le macro da una cartella di lavoro a un'altra con il codice VBA
Per esportare tutti i codici vba macro da un file Excel a un altro, eseguire i seguenti passaggi:
1. Innanzitutto, dovresti aprire le due cartelle di lavoro contemporaneamente, una contiene macro, l'altra è quella in cui desideri esportare le macro, vedi screenshot:
Scheda Office: apri, leggi, modifica e gestisci più documenti Office in un'unica finestra a schede
Office Tab consente l'esplorazione, la modifica e la gestione a schede delle applicazioni Microsoft Office. Puoi aprire più documenti/file in un'unica finestra a schede, ad esempio utilizzando il browser IE 8/9/10, Firefox e Google Chrome. Fai clic per scaricare e prova gratuita ora! |
2. Tieni premuto il ALT + F11 chiavi per aprire il Microsoft Visual Basic, Applications Edition finestra.
3. Clic inserire > Modulo, e incolla la seguente macro nel file Moduli Finestra.
Codice VBA: esporta tutte le macro da una cartella di lavoro a un'altra:
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:: Nel codice sopra, "vecchia cartella di lavoro"È il nome della cartella di lavoro da cui desideri esportare le macro e"nuova cartella di lavoro"È la cartella di lavoro in cui desideri importare le macro. Dovresti cambiare i nomi con i tuoi. Entrambe le due cartelle di lavoro dovrebbero essere XLSM formato del file.
4. Dopo aver incollato il codice sopra, quindi premere F5 chiave per eseguire questo codice e un file Scopri la nostra gamma di prodotti viene visualizzata la finestra, scegliere una cartella in cui inserire i file macro esportati, vedere screenshot:
5. Quindi fare clic OK e tutte le macro sono state esportate dalla cartella di lavoro specificata in un altro file Excel e anche i file macro sono stati salvati nella cartella specifica. Vedi screenshot:
Note:: Questo codice può esportare solo le macro dal normale modulo.
I migliori strumenti per la produttività in ufficio
Potenzia le tue competenze di Excel con Kutools per Excel e sperimenta l'efficienza come mai prima d'ora. Kutools per Excel offre oltre 300 funzionalità avanzate per aumentare la produttività e risparmiare tempo. Fai clic qui per ottenere la funzionalità di cui hai più bisogno...
Office Tab porta l'interfaccia a schede in Office e semplifica notevolmente il tuo lavoro
- Abilita la modifica e la lettura a schede in Word, Excel, PowerPoint, Publisher, Access, Visio e Project.
- Apri e crea più documenti in nuove schede della stessa finestra, piuttosto che in nuove finestre.
- Aumenta la produttività del 50% e riduce ogni giorno centinaia di clic del mouse!