Excel - Macro.Copiar información de una carpeta

 
Vista:

Macro.Copiar información de una carpeta

Publicado por Esther Garcia (3 intervenciones) el 19/04/2007 11:09:53
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.

Muchas Gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Macro.Copiar información de una carpeta

Publicado por haver (149 intervenciones) el 19/04/2007 17:32:20
Prueba esto:

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
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar