¿Cómo exportar todas las macros de un libro a otro libro?
Si necesita exportar varios códigos macro vba de un libro a otro, puede copiarlos uno por uno normalmente. Pero esto llevará mucho tiempo, en este artículo, hablaré sobre cómo exportar rápidamente todas las macros de un libro de trabajo a otro y guardar los archivos de macros en una carpeta específica también.
Exportar todas las macros de un libro de trabajo a otro con código VBA
Exportar todas las macros de un libro de trabajo a otro con código VBA
Para exportar todos los códigos macro vba de un archivo de Excel a otro, siga los siguientes pasos:
1. Primero, debe abrir los dos libros de trabajo al mismo tiempo, uno contiene macros, el otro es al que desea exportar macros, vea la captura de pantalla:
Ficha de Office: abre, lee, edita y administra varios documentos de Office en una sola ventana con fichas
Office Tab permite navegar, editar y administrar con pestañas las aplicaciones de Microsoft Office. Puede abrir varios documentos / archivos en una sola ventana con pestañas, como usar el navegador IE 8/9/10, Firefox y Google Chrome. Haga clic para descargar y prueba gratuita ahora! |
2. Mantenga pulsado el ALT + F11 teclas para abrir el Microsoft Visual Basic para aplicaciones ventana.
3. Hacer clic recuadro > Módulo, y pegue la siguiente macro en el Módulo Ventana.
Código VBA: exporte todas las macros de un libro a otro:
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: En el código anterior, "libro antiguo"Es el nombre del libro de trabajo desde el que desea exportar las macros, y"nuevo libro de trabajo”Es el libro de trabajo en el que desea importar las macros. Debería cambiar los nombres por los suyos. Ambos libros de trabajo deben ser xlsm formato de archivo.
4. Después de pegar el código anterior, presione F5 clave para ejecutar este código, y una Explorar se muestra la ventana, elija una carpeta para colocar los archivos de macro exportados, vea la captura de pantalla:
5. Luego haga clic OK y todas las macros se han exportado desde su libro de trabajo especificado a otro archivo de Excel, y los archivos de macro también se han guardado en la carpeta específica. Ver captura de pantalla:
Note: Este código solo puede exportar las macros del módulo normal.
Las mejores herramientas de productividad de oficina
Mejore sus habilidades de Excel con Kutools for Excel y experimente la eficiencia como nunca antes. Kutools for Excel ofrece más de 300 funciones avanzadas para aumentar la productividad y ahorrar tiempo. Haga clic aquí para obtener la función que más necesita...
Office Tab lleva la interfaz con pestañas a Office y hace que su trabajo sea mucho más fácil
- Habilite la edición y lectura con pestañas en Word, Excel, PowerPoint, Publisher, Access, Visio y Project.
- Abra y cree varios documentos en nuevas pestañas de la misma ventana, en lugar de en nuevas ventanas.
- ¡Aumenta su productividad en un 50% y reduce cientos de clics del mouse todos los días!