Copiar bajo un mismo formato data proveniente de otros archivos

20/10/2006 - 04:15 por Bart | Informe spam
Hola Hola...

Tengo 5 archivos, con la misma TABLA en cada uno.

Luego deseo pasar toda la información a un sexto archivo, dentro de una
tabla similar, que simplemente copie SÓLO las CELDAS LLENAS de cada uno de
los archivos originales y las coloque una FILA debajo de la OTRA.

Para que finalmente el archivo tenga toda la información proveniente de los
anteriores como si fuese un informe consolidado de data.

Cualquier sugerencia será bienvenida, GRACIAS.

-

Una opción que se me ocurrió es copiar la data de cada archivo con 300 filas
de separación (archivo 1 de la fila 3 a las 303, archivo 2 de la fila 304 a
la 604... etc), y luego con una macro filtrar la información para que elimine
las filas intermedias en blanco y aparezcan todas a continuación.
 

Leer las respuestas

#1 Héctor Miguel
20/10/2006 - 18:33 | Informe spam
hola, Bart !

Tengo 5 archivos, con la misma TABLA en cada uno.
Luego deseo pasar toda la informacion a un sexto archivo, dentro de una tabla similar
que simplemente copie SOLO las CELDAS LLENAS de cada uno de los archivos originales
y las coloque una FILA debajo de la OTRA...



prueba/adapta/corrige/... algun codigo +/- como el siguiente:

1) copia/mueve/coloca/... tus 5 [o mas] libros en una sola carpeta [o directorio 'comun']...
2) abre un libro nuevo, y escribe en la celda 'A1' de la hoja1 la ruta elegida [p.e.] C:\Mis respaldos\Todos los libros\
- NO olvides el '\' al final :))
3) copia/pega/... las siguientes lineas en un modulo de codigo 'general' EN el proyecto de macros del libro 'nuevo'
NOTA: se asume que la hoja que se va a combinar... -> ES la hoja (1) de cada uno de los 5 [o mas] libros...
Y [ademas y muy importante] que la ultima fila de cada hoja SI contiene datos -?-
de lo contrario... la 'siguiente fila libre' en el libro nuevo... va a presentar 'inconsistencias' en el resultado final :-(

si cualquier duda [o informacion adicional]... comentas ?
saludos,
hector.

Sub Combina_archivos_en()
Dim Archivo As String
Application.ScreenUpdating = False
With ThisWorkbook.Worksheets(1)
Archivo = Dir(.Range("a1") & "*.xls")
Do While Archivo <> ""
Workbooks.Open .Range("a1") & Archivo
.Range("a" & Rows.Count).End(xlUp).Offset(2) = _
ActiveWorkbook.Name
ActiveWorkbook.Worksheets(1).UsedRange.Copy _
Destination:=.Range("a" & Rows.Count).End(xlUp).Offset(1)
ActiveWorkbook.Close False
Archivo = Dir()
Loop
End With
End Sub

Preguntas similares