Comment exporter toutes les macros d'un classeur vers un autre classeur?
Si vous devez exporter plusieurs codes macro vba d'un classeur à un autre, vous pouvez les copier un par un normalement. Mais cela prendra du temps, cet article, je vais parler de la façon d'exporter rapidement toutes les macros d'un classeur à un autre et d'enregistrer les fichiers de macros dans un dossier spécifique également.
Exporter toutes les macros d'un classeur à un autre avec le code VBA
Exporter toutes les macros d'un classeur à un autre avec le code VBA
Pour exporter tous les codes macro vba d'un fichier Excel à un autre, procédez comme suit:
1. Tout d'abord, vous devez ouvrir les deux classeurs en même temps, l'un contient des macros, l'autre est celui vers lequel vous souhaitez exporter les macros, voir capture d'écran:
Onglet Office : ouvrez, lisez, modifiez et gérez plusieurs documents Office dans une seule fenêtre à onglets. L'onglet Office permet la navigation, la modification et la gestion par onglets des applications Microsoft Office. Vous pouvez ouvrir plusieurs documents/fichiers dans une seule fenêtre à onglets, par exemple en utilisant le navigateur IE 8/9/10, Firefox et Google Chrome. Cliquez pour télécharger et essai gratuit maintenant! |
2. Maintenez le ALT + F11 clés pour ouvrir le Microsoft Visual Basic pour applications fenêtre.
3Cliquez sur insérer > Module, et collez la macro suivante dans le Module Fenêtre.
Code VBA: exportez toutes les macros d'un classeur à un autre:
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
Notes: Dans le code ci-dessus, "ancien classeur"Est le nom du classeur à partir duquel vous souhaitez exporter les macros, et"nouveau-classeur»Est le classeur dans lequel vous souhaitez importer les macros. Vous devriez changer les noms pour les vôtres. Les deux classeurs doivent être xlsm format de fichier. 4. Après avoir collé le code ci-dessus, appuyez sur F5 clé pour exécuter ce code, et un Explorer La fenêtre s'affiche, veuillez choisir un dossier pour mettre les fichiers de macro exportés, voir capture d'écran:
5. Puis clique OK et toutes les macros ont été exportées de votre classeur spécifié vers un autre fichier Excel, et les fichiers de macros ont également été enregistrés dans le dossier spécifique. Voir la capture d'écran:
Notes: Ce code ne peut exporter que les macros du module normal.
Meilleurs outils de productivité bureautique
Améliorez vos compétences Excel avec Kutools for Excel et faites l'expérience d'une efficacité comme jamais auparavant. Kutools for Excel offre plus de 300 fonctionnalités avancées pour augmenter la productivité et gagner du temps. Cliquez ici pour obtenir la fonctionnalité dont vous avez le plus besoin...
Office Tab apporte une interface à onglets à Office et facilite grandement votre travail
- Activer l'édition et la lecture par onglets dans Word, Excel, PowerPoint, Publisher, Access, Visio et Project.
- Ouvrez et créez plusieurs documents dans de nouveaux onglets de la même fenêtre, plutôt que dans de nouvelles fenêtres.
- Augmente votre productivité de 50% et réduit des centaines de clics de souris chaque jour!