Note: The other languages of the website are Google-translated. Back to English

¿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.


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 cambio 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

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

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 > Declarar impuestos or carpeta para agregar los archivos de Excel se fusionará en uno. Después de agregar los archivos de Excel, haga clic en el Terminar 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ía) de esta utilidad, haga clic para descargarloy luego vaya a aplicar la operación según los pasos anteriores.


Kutools para Excel - Te ayuda a terminar siempre el trabajo antes de tiempo, tener más tiempo para disfrutar la vida
¿Se encuentra a menudo tratando de ponerse al día con el trabajo, falta de tiempo para usted y su familia?  Kutools for Excel puede ayudarte a lidiar con 80 % Sobresalga los rompecabezas y mejore la eficiencia del trabajo en un 80%, le da más tiempo para cuidar de la familia y disfrutar de la vida.
300 herramientas avanzadas para 1500 escenarios de trabajo, hacen que su trabajo sea mucho más fácil que nunca.
Ya no necesitas memorizar fórmulas y códigos VBA, dale un descanso a tu cerebro a partir de ahora.
Las operaciones complicadas y repetidas se pueden realizar con un procesamiento único en segundos.
Reduzca miles de operaciones de teclado y mouse todos los días, diga adiós a las enfermedades profesionales ahora.
Conviértase en un experto en Excel en 3 minutos, ayúdelo a obtener rápidamente un reconocimiento y una promoción de aumento de sueldo.
110,000 personas altamente efectivas y más de 300 empresas de renombre mundial.
Haga que sus $ 39.0 valgan más que $ 4000.0 en la capacitación de otros.
Prueba gratuita de funciones completas 30-día. Garantía de devolución de dinero de 60 días sin motivo.

Comentarios (146)
Aún no hay calificaciones. ¡Sé el primero en calificar!
Este comentario fue minimizado por el moderador en el sitio
Hola, por favor ayúdame con esta condición a continuación. Tengo un libro de trabajo diferente que tiene más de 5 hojas de trabajo, cada una en una ruta diferente. Necesito consolidar todas las hojas de trabajo de diferentes libros de trabajo en un solo libro de trabajo. ¿Alguien puede ayudarme a resolver con macro.TIA?
Este comentario fue minimizado por el moderador en el sitio
[quote]Hola, por favor ayúdenme con esta condición a continuación. Tengo un libro de trabajo diferente que tiene más de 5 hojas de trabajo, cada una en una ruta diferente. Necesito consolidar todas las hojas de trabajo de diferentes libros de trabajo en un solo libro de trabajo. ¿Alguien puede ayudarme a resolver con macro.TIA?Por A. Karthi[/quote] Vaya a descargar e instalar Kutools para Excel, puede hacerlo rápidamente. Pero si desea usar un VBA, puede ser demasiado complicado. Para obtener más información sobre cómo hacerlo, visite:http://www.extendoffice.com/product/kutools-for-excel/excel-combine-worksheets-into-one.html
Este comentario fue minimizado por el moderador en el sitio
KUTOOLS Impresionante solución. Necesito una ayuda más cuando creo un libro de trabajo maestro, luego el color de celda de la hoja de trabajo cambia de la hoja de trabajo original. ¿Cómo puedo mantenerlo como la hoja de trabajo original?
Este comentario fue minimizado por el moderador en el sitio
Nuestra oficina tiene duplicación de datos (es decir, nombre, dirección, ciudad, monto, fecha de firma) de varios originales de Excel y tratar de combinar los datos será un trabajo en progreso. ¿Cómo se puede hacer eso para eliminar el trabajo doble y las entradas dobles de información?
Este comentario fue minimizado por el moderador en el sitio
Recibo un 'error de tiempo de ejecución 1004', el método de copia de la clase de la hoja de trabajo falló en la línea que dice: Sheet.Copy After:=ThisWorkbook.Sheets(1). Estoy usando Excel 2010. ¿Me pueden ayudar? Gracias, -susie
Este comentario fue minimizado por el moderador en el sitio
Hola, Susie, he estado trabajando en este problema durante un tiempo y obtengo el mismo error. Verifique si el módulo se creó en PERSONAL en lugar de su libro de trabajo activo. Una vez que creé el módulo bajo el árbol correcto, el siguiente código funcionó bien. Sub GetSheets_xls() Dim Sheet As Worksheet Path = "C:\Users\yournamehere\Desktop\Testingfolder\" Filename = Dir(Path & "*.xls") Do While Filename "" Workbooks.Open Filename:=Path & Filename, ReadOnly:=False Set Sheet = ActiveWorkbook.Sheets(1) Sheet.Copy After:=ThisWorkbook.Sheets(1) 'Next Sheet Workbooks(Filename).Close Filename = Dir() Loop End Sub ¡Espero que esto ayude!
Este comentario fue minimizado por el moderador en el sitio
Muchas gracias. Tu código funcionó bien.
Este comentario fue minimizado por el moderador en el sitio
[cita] Obtengo un 'error de tiempo de ejecución 1004', el Método de copia de la clase Hoja de trabajo falló en la línea que dice: Hoja.Copiar después:=Estelibro.Hojas(1). Estoy usando Excel 2010. ¿Me pueden ayudar? Gracias, -susiepor susie[/quote] Tuve el mismo problema, funciona cuando voy a ver y mostrar "PERSONAL", parece tener problemas para acceder a esta macro con el maestro oculto.
Este comentario fue minimizado por el moderador en el sitio
Vaya a ver y mostrar "PERSONAL": parece tener problemas para ejecutar todo el código mientras el maestro está oculto. Puede hacer que la macro sea nativa para ese libro de trabajo, pero tendría que volver a crear todo cada vez que quiera usarla.
Este comentario fue minimizado por el moderador en el sitio
¡Hola! Muchas gracias por este archivo............. :roll: Saludos cordiales
Este comentario fue minimizado por el moderador en el sitio
Hola Gran consejo. Hizo casi todo lo que quería. En el libro de trabajo combinado, me hubiera encantado que el nombre de la hoja de trabajo contuviera el nombre del libro de trabajo original, para saber de qué libro de trabajo provienen los datos. Los datos que estoy combinando son de diferentes archivos. Tengo que buscar una entrada, pero no sé en qué archivo está. Por lo tanto, combinar todos los datos en un archivo me permitirá buscar en todos los archivos a la vez. Pero todavía necesito saber en qué archivo está la entrada. Henrik
Este comentario fue minimizado por el moderador en el sitio
Para que el código incorpore el nombre del archivo, simplemente haga esto. Sub GetSheets() Dim temp As String Path = "C:\Users\....\Desktop\Excel combine\" Filename = Dir(Path & "*.xlsx") Do While Filename "" Workbooks.Open Filename:= Ruta y nombre de archivo, solo lectura:=verdadero temp = ActiveWorkbook.Name ActiveSheet.Name = temp ActiveWorkbook.Sheets(temp).Copy After:=ThisWorkbook.Sheets(1) Workbooks(Filename).Close Filename = Dir() Loop End Sub Note : esto es solo para copiar la primera hoja, se puede modificar para hacer todas las hojas
Este comentario fue minimizado por el moderador en el sitio
¿Cómo incorporas más hojas y cómo especificas un archivo maestro diferente para pegar todas las hojas?
Este comentario fue minimizado por el moderador en el sitio
Es una gran solución de hecho. gracias. Sin embargo, un problema, cuando lo ejecuto así, Excel me preguntará si quiero guardar las modificaciones antes de cerrar (ya que se cambió el nombre), y no quiero hacerlo para cada archivo (alrededor de 32 por ejecución). Habría alguna forma de solucionar esto?
Este comentario fue minimizado por el moderador en el sitio
Esto es excelente :lol: me ayudó mucho....
Este comentario fue minimizado por el moderador en el sitio
Gracias compañero, me alegraste el día con este sitio web muy útil... En realidad, también quería combinar los mismos datos de encabezado de diferentes hojas en 1 hoja de trabajo principal, KUTOOL para Excel me ayudó mucho... Gracias una vez más ... :)
Este comentario fue minimizado por el moderador en el sitio
Muchas gracias por la valiosa información. Esto realmente funciona. Los pasos enumerados en este artículo realmente facilitaron mi trabajo. Gracias, Dinesh
Este comentario fue minimizado por el moderador en el sitio
Gracias por compartir su conocimiento
Este comentario fue minimizado por el moderador en el sitio
¿Cómo consigues que actualice los cambios del libro de trabajo original? Estoy tratando de obtener un resumen nacional en el que cada región ingrese sus datos en sus propios libros de trabajo y luego tenga el resumen nacional que se actualiza a partir de esto. Me gustaría tener esto configurado para todo el año al principio y no trabajar retrospectivamente.
Este comentario fue minimizado por el moderador en el sitio
Después de combinar las hojas de trabajo en un Libro de trabajo, ¿cómo se guarda? No pude guardarlo, se llama Libro 1 y estoy haciendo clic en Guardar o Guardar como pero no funciona. ¿Alguna sugerencia?
Este comentario fue minimizado por el moderador en el sitio
Seguí los pasos en "Combinar varios libros de trabajo en un libro de trabajo con VBA" y hacer clic en "ejecutar", no sucedió nada. No soy consciente de los errores y no estoy seguro de cómo corregirlos. ¿Me ayudarías? el siguiente es el código que ingresé en un nuevo libro de trabajo. Gracias Sub GetSheets() Path = "p:\download\macro\" Filename = Dir(Path & "*.xls") Do While Filename "" Workbooks.Open Filename:=Ruta y nombre de archivo, ReadOnly:=True para cada hoja en ActiveWorkbook.Sheets Sheet.Copy After:=ThisWorkbook.Sheets(1) Next Sheet Workbooks(Filename).Close Filename = Dir() Loop End Sub
Este comentario fue minimizado por el moderador en el sitio
Estimado señor/señora: Seguí los pasos de "Combinar varios libros de trabajo en un libro de trabajo con VBA" para configurar el siguiente módulo, pero no sucedió nada. ¿Me ayudarías a encontrar el problema? gracias Sub GetSheets() Path = "p:\download\macro\" Filename = Dir(Path & "*.xls") Do While Filename "" Workbooks.Open Filename:=Path & Filename, ReadOnly:=True For Each Hoja en ActiveWorkbook.Sheets Sheet.Copy After:=ThisWorkbook.Sheets(1) Next Sheet Workbooks(Filename).Close Filename = Dir() Loop End Sub
Este comentario fue minimizado por el moderador en el sitio
para versiones más nuevas de Excel, intente esto. Guardé mi libro de trabajo abierto como catálogo y todos los archivos están en c:\temp. Sub GetSheets() Path = "c:\temp\" Filename = Dir(Path & "*.xls") Do While Filename "" Workbooks.Open Filename:=Ruta y nombre de archivo, ReadOnly:=True para cada hoja en ActiveWorkbook. Hojas Hoja.Copiar después:=Libros de trabajo("catalog.xlsx").Hojas(1) Hoja siguiente Libros de trabajo(Nombre de archivo).Cerrar Nombre de archivo = Dir() Loop End Sub
Este comentario fue minimizado por el moderador en el sitio
Pruebe esto para versiones más nuevas de Excel. Guardé mi libro de trabajo como catálogo, todos los archivos están en c:\temp. Sub GetSheets() Path = "c:\temp\" Filename = Dir(Path & "*.xls") Do While Filename "" Workbooks.Open Filename:=Ruta y nombre de archivo, ReadOnly:=True para cada hoja en ActiveWorkbook. Hojas Hoja.Copiar después:=Libros de trabajo("catalog.xlsx").Hojas(1) Hoja siguiente Libros de trabajo(Nombre de archivo).Cerrar Nombre de archivo = Dir() Loop End Sub
Este comentario fue minimizado por el moderador en el sitio
[quote] Pruebe esto para versiones más nuevas de Excel. Guardé mi libro de trabajo como catálogo, todos los archivos están en c:\temp. Sub GetSheets() Path = "c:\temp\" Filename = Dir(Path & "*.xls") Do While Filename "" Workbooks.Open Filename:=Ruta y nombre de archivo, ReadOnly:=True para cada hoja en ActiveWorkbook. Hojas Hoja.Copiar después:=Libros de trabajo("catalog.xlsx").Hojas(1) Hoja siguiente Libros de trabajo(Nombre de archivo).Cerrar Nombre de archivo = Dir() Loop End Subpor Dave[/quote] Sigo recibiendo "no se puede asignar a la propiedad de solo lectura" con respecto a la ruta... ¿Alguna idea?
Este comentario fue minimizado por el moderador en el sitio
Yo también tengo este problema. Lo averiguaste?
Este comentario fue minimizado por el moderador en el sitio
Nada todavía... No he encontrado ninguna solución o nadie ha sugerido una solución. Lo siento...
Este comentario fue minimizado por el moderador en el sitio
Yo también. Esto estaba funcionando hace 6 meses, la última vez que tuve que ejecutarlo. ¿Alguien ha encontrado ya la solución? Si lo tenías funcionando antes y ahora no funciona, ¿podría ser algo que tenga que ver con una actualización de Microsoft? Esta es una herramienta realmente útil para mis tareas y me ahorra mucho tiempo. ¿Qué podría haber cambiado para que Excel comenzara a mostrar este mensaje de repente? Siendo bastante nuevo en VBA, tengo poca idea de dónde comenzar a analizar la lógica. Saludos cordiales, Greg. Glasgow, Escocia.
Este comentario fue minimizado por el moderador en el sitio
Parece que "Path" ahora está reservado, así que use cualquier otro nombre y reemplace "Path", por ejemplo, "Mypath".
Este comentario fue minimizado por el moderador en el sitio
Tal vez debería cambiar ReadOnly:=True a ReadOnly:=False, lo he hecho y fue útil
Este comentario fue minimizado por el moderador en el sitio
Estaba buscando algo en este sentido, pero quería comentar. ¿No es necesario que el nombre de archivo Do While "" sea algo distinto de ""? o estoy leyendo mal? Tal vez hacer mientras NO filename = "" Solo un pensamiento...
Este comentario fue minimizado por el moderador en el sitio
Quiero combinar todas las hojas en una hoja donde los encabezados son comunes... ayuda por favor
Este comentario fue minimizado por el moderador en el sitio
Hola, intenté usar las macros anteriores para cotejar algunos archivos, desafortunadamente no hay resultados... alguien puede ayudarme a deshacerme de la cotejación manual de archivos.
Este comentario fue minimizado por el moderador en el sitio
Tengo 112 hojas de Excel que quiero poner en una sola hoja sin copiar y pegar. Por favor, ayúdame.
Este comentario fue minimizado por el moderador en el sitio
Tengo un libro de trabajo que contiene alrededor de 250 hojas. Necesito a Cobain en una hoja. Por favor, dame una solución
Este comentario fue minimizado por el moderador en el sitio
Pruebe esto... Lo obtuve de otro sitio, pero desafortunadamente no puedo recordar el nombre de la dama, así que pido disculpas por no mencionarla, mi error "Combina múltiples WB en Excel: RECUERDA CAMBIAR MyPath = ! Sub Merge2MultiSheets( ) Dim wbDst como libro de trabajo Dim wbSrc como libro de trabajo Dim wsSrc como hoja de trabajo Dim MyPath como cadena Dim strFilename como cadena Application.DisplayAlerts = False Application.EnableEvents = False Application.ScreenUpdating = False MyPath = "\\MyPath\etc\etc..." Establezca wbDst = Workbooks.Add(xlWBATWorksheet) strFilename = Dir(MyPath & "\*.xls", vbNormal) If Len(strFilename) = 0 Entonces salga de Sub Do hasta que strFilename = "" Establezca wbSrc = Workbooks.Open(Filename:= MyPath & "\" & strFilename) Set wsSrc = wbSrc.Worksheets(1) wsSrc.Copy After:=wbDst.Worksheets(wbDst.Worksheets.Count) wbSrc.Close False strFilename = Dir() Bucle wbDst.Worksheets(1). Eliminar Application.DisplayAlerts = True Application.EnableEvents = True Application.ScreenUpdating = True End Sub
Este comentario fue minimizado por el moderador en el sitio
Hola, agregué el código en un módulo. Nombró el Masterfile del libro de Excel. ¿En qué parte del código agrego. gracias
Este comentario fue minimizado por el moderador en el sitio
Ninguno de estos funcionó para mí, finalmente conseguí que este funcionara. FYI estoy usando 2010 'Descripción: Combina todos los archivos en una carpeta a un archivo maestro. Sub MergeFiles() Dim path As String, ThisWB As String, lngFilecounter As Long Dim wbDest As Workbook, shtDest As Worksheet, ws As Worksheet Dim Filename As String, Wkb As Workbook Dim CopyRng As Range, Dest As Range Dim RowofCopySheet As Integer RowofCopySheet = 2 ' Fila para comenzar en las hojas que está copiando desde ThisWB = ActiveWorkbook.Name path = "mypath..." ' No olvide cambiar esto Application.EnableEvents = False Application.ScreenUpdating = False Set shtDest = ActiveWorkbook .Sheets(1) Nombre de archivo = Dir(ruta & "\*.xls", vbNormal) Si Len(Nombre de archivo) = 0 Luego salga de Sub Hacer hasta Nombre de archivo = vbNullString Si no Nombre de archivo = ThisWB Entonces establezca Wkb = Workbooks.Open(Nombre de archivo: =ruta & "\" & Nombre de archivo) Set CopyRng = Wkb.Sheets(1).Rango(Cells(RowofCopySheet, 1), Cells(ActiveSheet.UsedRange.Rows.Count, ActiveSheet.UsedRange.Columns.Count)) Set Dest = shtDest.Range("A" & shtDest.UsedRange.SpecialCells(xlCellTypeLastCell).Row + 1) CopyRng.Copy Dest Wkb.Close False End If Filename = Dir() Loop Rang e("A1").Seleccione Application.EnableEvents = True Application.ScreenUpdating = True MsgBox "¡Listo!" Finalizar sub
Este comentario fue minimizado por el moderador en el sitio
¿Cómo edito esto para que los datos extraídos siempre comiencen en la fila superior? Si ejecuto este código dos veces, agrega los datos al final de mis datos anteriores (desde la primera ejecución de la macro).
Este comentario fue minimizado por el moderador en el sitio
Cambie esta línea: RowofCopySheet = 2 a RowofCopySheet = 1
Este comentario fue minimizado por el moderador en el sitio
Hola, tengo varios archivos de Excel (una sola hoja) en diferentes carpetas con protección de contraseña. Quiero al final del día combinar todos los datos en un archivo maestro. Cada vez que tengo que ingresar la contraseña y abrir el archivo y copiar y pegar en el archivo maestro. Por favor, ayúdenme con el código VBA para esto, por favor.
No hay comentarios publicados aquí todavía
Ver más
Deje sus comentarios
Publicar como invitado
×
Califica esta publicación:
0   Personajes
Ubicaciones sugeridas

Seguinos

Copyright © 2009 - www.extendoffice.com. | Reservados todos los derechos. Energizado por ExtendOffice, | Mapa del Sitio
Microsoft y el logotipo de Office son marcas comerciales o marcas comerciales registradas de Microsoft Corporation en los Estados Unidos y / o en otros países.
Protegido por Sectigo SSL