
Unir archivos excel en uno solo
Publicado por Hector Alcantara (2 intervenciones) el 04/12/2017 23:48:02
Hola! tengo una macro para unir archivos en uno solo excel , el tema es que los nombres de los archivos van cambiando conforme el dia y hora, no siempre tienen el mismo rango y necesito unir todos los archivos de un fichero en diferentes hojas del mismo archivo
1° documento xlsx en la primer hoja
2° documento xlsx en la segunda hoja
3° documento xlsx en la tercer hoja
y después de unirlos que los borre del fichero sin eliminar el archivo master
¿Alguna sugerencia?
1° documento xlsx en la primer hoja
2° documento xlsx en la segunda hoja
3° documento xlsx en la tercer hoja
y después de unirlos que los borre del fichero sin eliminar el archivo master
¿Alguna sugerencia?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
Sub UnirLibros()
'x Elsamatilde
Dim sh As Object
Application.DisplayAlerts = False
'el nombre del libro actual, con la macro
libro1 = ActiveWorkbook.Name
'tomo como ruta la del libro activo
ruta = ActiveWorkbook.Path
ChDir ruta & "C:\Indra\Control"
'revisar la extensión de los libros a unir
archi = Dir("*.xlsx*")
Do While archi <> libro1 And archi <> ""
Workbooks.Open archi
'nombre del libro que se abrió
libro2 = ActiveWorkbook.Name
For Each sh In ActiveWorkbook.Sheets
'coloco el fin de rango de la hoja 1 del libro destino en una variable para ajustarla a criterio
'aquí se evalua la col A de la hoja 1
finx = Workbooks(libro1).Sheets(1).Range("A" & Rows.Count).End(xlUp).Row + 1
'copio rango de cada hoja
sh.Range("A1").CurrentRegion.Copy Destination:=Workbooks(libro1).Sheets(1).Range("A" & finx)
Next
'cierra el libro y procede a buscar el siguiente
Workbooks(libro2).Close False
archi = Dir()
Loop
MsgBox "Fin del proceso"
End Sub
Valora esta pregunta


0