Hola dejé un mensaje en el foro la semana pasada con ésta duda...
 
 
Hola a todos, 
 
necesito hacer una macro que coga información de distintos archivos que tengo en una carpeta y los pegue en otro Libro de Excel, que será un libro Resumen. 
 
Me han comentado que es un nivel de excel avanzado, y no se como hacerlo, si me pudierais decir el código para que la macro haga lo siguiente; 
 
- abrir archivo "Rapport_Comercial_Cliente1" 
- copiar datos (A2:M2) 
-pegarlos en "LibroResumen"(con ubicación distinta a la carpeta); la primera fila de datos se tendría que pegar en la Fila2 
-cerrar el archivo 
. 
. 
. la idea es hacer un bucle aquí, y que vaya repitiendo la misma acción, pero cambiando el nombre del archivo (que es distinto para todos) y pegando la información en la fila siguiente en el LibroResumen 
. 
. 
. 
-abrir archivo"Rapport_Comercial_Cliente100" 
-copiar datos(A2:M2) 
-pegarlos en "LibroResumen"(con ubicación distinta a la carpeta); la primera fila de datos se tendría que pegar en la Fila101 
-cerrar archivo 
 
Espero haberme explicado bien, se que es un poco complicado pero si alguien pudiese ayudarme estaría muy agradecido. 
 
 
He probado con ésta fórmula, pero me da un error en :
Workbooks(origen).Sheets("Hoja1").Range("A2:M2").C  opy Destination:=Workbooks(destino).Sheets("HojaResume  n").Range("A " & finalrow + 1) 
No encuentra los libros de origen y destino(creo que ese es el problema)...si alguien puede ayudarme.
 
Sub copia() 
'variables 
Dim i As Integer 
Dim origen As String 
Dim destino As String 
'el i emprezara en 1 y aumentara hasta 100 
For i = 1 To 100 
'Abro el primer archivo la i es el numero que ira aumentando 
'archivo1.xls , archivo2.xls etc en la ubicacion C 
Workbooks.Open ("C:\Archivo" & i & ".xls") 
'Asigno el nombre del libro a una variable 
origen = ActiveWorkbook.Name 
'Abro el libro destino 
Workbooks.Open ("C:\Archivo back.xls") 
'Asino el nombre a variable 
destino = ActiveWorkbook.Name 
'localizo la ultima fila 
finalrow = Range("A65536").End(xlUp).Row 
'Copio y pego los valores 
Workbooks(origen).Range("A2:M2").Copy Destination:=Workbooks(destino).Range("A " & finalrow + 1) 
'Cierro y salvo lo necesario 
Workbooks(origen).Close False 
Workbooks(destino).Close True 
Next 
 
End Sub  
 
Gracias 
   
 

