¿Cómo combinar varios libros de trabajo en un libro de trabajo maestro en Excel?
¿Alguna vez se ha quedado atascado cuando tiene que combinar varios libros de trabajo en un libro de trabajo maestro en Excel? Lo más terrible es que los libros de trabajo que necesita combinar contienen varias hojas de trabajo. ¿Y cómo combinar solo las hojas de trabajo especificadas de varios libros de trabajo en un libro de trabajo? Este tutorial muestra varios métodos útiles para ayudarlo a resolver el problema paso a paso.
- Método A: Combine varios libros de trabajo en un solo libro con la función Mover o Copiar
- Método B: Combine varios libros de trabajo u hojas específicas de libros de trabajo en un libro de trabajo maestro con VBA
- Método C: Combine fácilmente varios libros de trabajo o hojas específicas de libros de trabajo en un libro de trabajo
Combine varios libros de trabajo en un solo libro con la función Mover o Copiar
Si solo es necesario combinar un par de libros de trabajo, puede usar el comando Mover o Copiar para mover o copiar manualmente hojas de trabajo del libro de trabajo original al libro de trabajo maestro.
1. Abra los libros de trabajo que fusionará en un libro de trabajo maestro.
2. Seleccione las hojas de trabajo en el libro de trabajo original que moverá o copiará al libro de trabajo maestro.
Notas:
1). Puede seleccionar varias hojas de trabajo no adyacentes sosteniendo el Ctrl y haciendo clic en las pestañas de la hoja una por una.
2). Para seleccionar varias hojas de trabajo adyacentes, haga clic en la pestaña de la primera hoja, mantenga presionado el Shift y luego haga clic en la pestaña de la última hoja para seleccionarlas todas.
3). Puede hacer clic derecho en cualquier pestaña de la hoja, hacer clic en Seleccionar todas las hojas en el menú contextual para seleccionar todas las hojas de trabajo en el libro de trabajo al mismo tiempo.
3. Después de seleccionar las hojas de trabajo necesarias, haga clic con el botón derecho en la pestaña de la hoja y luego haga clic en Mover o copiar desde el menú contextual. Ver captura de pantalla:
4. Entonces el Mover o copiar aparece el diálogo, en el Reservar menú desplegable, seleccione el libro de trabajo maestro al que moverá o copiará las hojas de trabajo. Seleccione mover para terminar en el Antes de la hoja casilla, marque la Crea una copia cuadro, y finalmente haga clic en el OK del botón.
Luego, puede ver las hojas de trabajo en dos libros combinados en uno. Repita los pasos anteriores para mover hojas de trabajo de otros libros al libro maestro.
Combine varios libros de trabajo u hojas específicas de libros de trabajo en un libro de trabajo maestro con VBA
Si es necesario fusionar varios libros de trabajo en uno, puede aplicar los siguientes códigos VBA para lograrlo rápidamente. Haz lo siguiente.
1. Coloque todos los libros de trabajo que desee combinar en uno solo en el mismo directorio.
2. Inicie un archivo de Excel (este libro será el libro maestro).
3. presione el otro + F11 teclas para abrir el Microsoft Visual Basic para aplicaciones ventana. En el Microsoft Visual Basic para aplicaciones ventana, haga clic recuadro > Módulo, luego copie el código de VBA a continuación en la ventana del Módulo.
Código 1 de VBA: combine varios libros de Excel en uno
Sub GetSheets()
'Updated by Extendoffice 2019/2/20
Path = "C:\Users\dt\Desktop\dt kte\"
Filename = Dir(Path & "*.xlsx")
Do While Filename <> ""
Workbooks.Open Filename:=Path & Filename, ReadOnly:=True
For Each Sheet In ActiveWorkbook.Sheets
Sheet.Copy After:=ThisWorkbook.Sheets(1)
Next Sheet
Workbooks(Filename).Close
Filename = Dir()
Loop
End Sub
Notas:
1. El código VBA anterior conservará los nombres de las hojas de los libros de trabajo originales después de la fusión.
2. Si desea distinguir qué hojas de trabajo en el libro de trabajo maestro provienen de dónde después de la fusión, aplique el siguiente código VBA 2.
3. Si solo desea combinar hojas de trabajo específicas de los libros de trabajo en un libro de trabajo maestro, el código 3 de VBA a continuación puede ayudar.
En códigos VBA, "C: \ Usuarios \ DT168 \ Escritorio \ KTE \”Es la ruta de la carpeta. En el código 3 de VBA, "Hoja1, Hoja3"son las hojas de trabajo especificadas de los libros de trabajo que combinará en un libro de trabajo maestro. Puede cambiarlas según sus necesidades.
Código 2 de VBA: combine los libros de trabajo en uno (cada hoja de trabajo se nombrará con el prefijo de su nombre de archivo original):
Sub MergeWorkbooks()
'Updated by Extendoffice 2019/2/20
Dim xStrPath As String
Dim xStrFName As String
Dim xWS As Worksheet
Dim xMWS As Worksheet
Dim xTWB As Workbook
Dim xStrAWBName As String
On Error Resume Next
xStrPath = "C:\Users\DT168\Desktop\KTE\"
xStrFName = Dir(xStrPath & "*.xlsx")
Application.ScreenUpdating = False
Application.DisplayAlerts = False
Set xTWB = ThisWorkbook
Do While Len(xStrFName) > 0
Workbooks.Open Filename:=xStrPath & xStrFName, ReadOnly:=True
xStrAWBName = ActiveWorkbook.Name
For Each xWS In ActiveWorkbook.Sheets
xWS.Copy After:=xTWB.Sheets(xTWB.Sheets.Count)
Set xMWS = xTWB.Sheets(xTWB.Sheets.Count)
xMWS.Name = xStrAWBName & "(" & xMWS.Name & ")"
Next xWS
Workbooks(xStrAWBName).Close
xStrFName = Dir()
Loop
Application.ScreenUpdating = True
Application.DisplayAlerts = True
End Sub
Código 3 de VBA: combine hojas de trabajo específicas de libros de trabajo en un libro de trabajo maestro:
Sub MergeSheets2()
'Updated by Extendoffice 2019/2/20
Dim xStrPath As String
Dim xStrFName As String
Dim xWS As Worksheet
Dim xMWS As Worksheet
Dim xTWB As Workbook
Dim xStrAWBName As String
Dim xI As Integer
On Error Resume Next
xStrPath = " C:\Users\DT168\Desktop\KTE\"
xStrName = "Sheet1,Sheet3"
xArr = Split(xStrName, ",")
Application.ScreenUpdating = False
Application.DisplayAlerts = False
Set xTWB = ThisWorkbook
xStrFName = Dir(xStrPath & "*.xlsx")
Do While Len(xStrFName) > 0
Workbooks.Open Filename:=xStrPath & xStrFName, ReadOnly:=True
xStrAWBName = ActiveWorkbook.Name
For Each xWS In ActiveWorkbook.Sheets
For xI = 0 To UBound(xArr)
If xWS.Name = xArr(xI) Then
xWS.Copy After:=xTWB.Sheets(xTWB.Sheets.count)
Set xMWS = xTWB.Sheets(xTWB.Sheets.count)
xMWS.Name = xStrAWBName & "(" & xArr(xI) & ")"
Exit For
End If
Next xI
Next xWS
Workbooks(xStrAWBName).Close
xStrFName = Dir()
Loop
Application.ScreenUpdating = True
Application.DisplayAlerts = True
End Sub
4. presione el F5 clave para ejecutar el código. Luego, todas las hojas de trabajo o las hojas de trabajo especificadas de los libros de trabajo en la carpeta determinada se combinan en un libro de trabajo maestro a la vez.
Combine fácilmente varios libros de trabajo o hojas específicas de libros de trabajo en un libro de trabajo
Afortunadamente, el Combinar utilidad de libro de trabajo de Kutools for Excel hace que sea mucho más fácil fusionar varios libros en uno. Veamos cómo hacer que esta función funcione al combinar varios libros de trabajo.
Antes de aplicar Kutools for Excel, Por favor descargarlo e instalarlo en primer lugar.
1. Cree un nuevo libro de trabajo y haga clic en Kutools Más > Combinar. Luego aparece un cuadro de diálogo para recordarle que todos los libros de trabajo combinados deben guardarse y la función no se puede aplicar a los libros de trabajo protegidos, haga clic en el OK del botón.
2. En el Combinar hojas de trabajo asistente, seleccione Combine varias hojas de trabajo de libros de trabajo en un libro de trabajo opción, y luego haga clic en la Siguiente botón. Ver captura de pantalla:
3. En el Combinar hojas de trabajo - Paso 2 de 3 cuadro de diálogo, haga clic en Añada > Archive or carpeta para agregar los archivos de Excel se fusionará en uno. Después de agregar los archivos de Excel, haga clic en el Acabado y elija una carpeta para guardar el libro maestro. Ver captura de pantalla:
Ahora todos los libros de trabajo se fusionan en uno.
En comparación con los dos métodos anteriores, Kutools for Excel tiene las siguientes ventajas:
- 1) Todos los libros y hojas de trabajo se enumeran en el cuadro de diálogo;
- 2) Para las hojas de trabajo que desea excluir de la combinación, simplemente desmárquela;
- 3) Las hojas de trabajo en blanco se excluyen automáticamente;
- 4) El nombre del archivo original se agregará como prefijo al nombre de la hoja después de la fusión;
- Para obtener más funciones de esta característica, por favor visita aqui.
Si desea tener una prueba gratuita (30 días) de esta utilidad, haga clic para descargarloy luego vaya a aplicar la operación según los pasos anteriores.