copiar datos de varios archivos xls

25/01/2008 - 22:37 por Juan m | Informe spam
Buenas tardes, de antemano gracias por sus comentarios que puedan
proporcionar, asi como su ayuda.

Requiero compilar (agrupar/consolidar) la informacion que tengo en 3
archivos diferentes,en direcciones diferentes, los cuales cuentan con los
mismos nombres tanto de hojas como de columnas, pero estos archivos, los
quiero especificar, en celtras, para caso cambien nombre, solo modificar
dichas celdas.

los rangos a copiar en cada uno de los archivos van desde el a1:z200.

muchas graciasde antemano.
 

Leer las respuestas

#1 Ivan
26/01/2008 - 03:46 | Informe spam
hola,Juan

Requiero compilar (agrupar/consolidar) la informacion que tengo en 3




archivos diferentes,en direcciones diferentes,  los cuales cuentan con los
mismos nombres tanto de hojas como de columnas, pero estos archivos, los
quiero especificar, en celtras, los rangos a copiar en cada uno de los archivos
van desde el a1:z200<<<<



la verdad es que quizas no vendrian mal algunos detalles mas de tus
intenciones, pero a falta de estos, se me ocurren unas cuantas
posibilidades, entre ellas esta=>

pon en un libro nuevo en la "Hoja1" en a1:c1 los nombres con la ruta
completa de tus archivos y guarda el libro en el directorio donde
quieras guardar tus 'resumenes/compilaciones'

en un modulo normal (en el editor de VBa => menu insertar => modulo a
secas (NO de clase) ) de este lbro copia/pega este codigo y prueba a
ver que tal

''--copia desde aqui
Sub ResumenLibroNuevo()
Dim n As Byte, i As Integer, Nombre As String
With ThisWorkbook
Nombre = .Path & "\" & "Resumen_" & Format(Now, "d-mmm-yy_hmmss")
& ".xls"
Application.ScreenUpdating = False
For n = 1 To 3
Select Case n
Case 1: Workbooks.Add .Worksheets("Hoja1").Cells(1, n).Value
ActiveWorkbook.SaveAs Nombre
Case Else
Workbooks.Open .Worksheets("Hoja1").Cells(1, n).Value
With ActiveWorkbook
For i = 1 To .Worksheets.Count
With Worksheets(i)
.Range("a2:z200").Copy
Workbooks(Nombre).Worksheets(.Name) _
.Range("a" & .Rows.Count).End(xlUp).Offset(1)
Workbooks(Nombre).Worksheets(.Name).Columns.AutoFit
End With
Next
.Close True
End With
End Select
Next
Workbooks(Nombre).Save
End With
End Sub
''-copia hasta aqui -

OJO: no esta probado, pero creo que funcionaria. Si quieres comentas

un saludo
Ivan

Preguntas similares