Unificar Datos. ¿Cómo lo puedo hacer?

Gusto saludarte

Quisiera saber como hago una macro que me pueda unificar la información de varios archivos de excel en un solo archivo y una sola hoja, es decir que la información de la primera hoja se pegue en las primeras filas, lo del segundo archivo en las siguientes filas y así.

1 respuesta

Respuesta
1

H o  l a:

Recientemente envié una macro para copiar varias filas de varias hojas de varios libros, y pegarlas en una sola hoja.

Macro excel para copiar registros de varios libros

Revisa la macro para que la adaptes a lo que necesitas.

Si requieres que te ayude, escribe el todo el detalle, en dónde están los libros, cómo se llaman las hojas, a partir de cuál fila, etc, etc, toda la información.

':)
S a l u d o s . D a n t e A m o r
':) Si es lo que necesitas. Recuerda valorar la respuesta. G r a c i a s.

Gracias Dante

De  hecho si vi la macro, pero  no se por que, pero no me esta funcionando. Los archivos están en  excel 2013 por lo que ya en el código cambie el formato del archivo pero aun así no me abre

Para comentarte, son reportes de vendedores  (mismos formatos en cantidad de columnas) lo que varia son las cantidades de filas  de cada reporte por que hay quienes tienen mas data que otros, lo que necesito poder hacer es que toda esta información para la pueda colocar en un solo archivo en una sola hoja de calculo (actualmente lo hago manualmente). 

Ahora bien, los archivos están en una misma carpeta  con nombres diferentes,  (segun nombre y zona de la fuerza de ventas) entonces no se si en la macro se puede hacer que sean todos los archivos en la carpeta

No se como poder adjuntarte archivos de ejemplo

Quedo al pendiente de tu respuesta y gracias por tu ayuda


Saludos

Envíame 3 archivos de la siguiente forma:

2 archivos con la información que quieres consolidar

1 archivo con la información consolidada de los 2 archivos anteriores.

Procura que la información sea real, que los nombres de los archivos sean reales, en fin, que todo sea real, para que la macro funcione con datos reales.

Mi correo [email protected]

En el asunto del correo escribe tu nombre de usuario “David Madrigal” y el título de esta pregunta.

Gracias DAN, te acabo de enviar el correo

Gracias y Saludos

H o  l a:

 Te anexo la macro

Sub UnificarDatos()
'Por.Dante Amor
    Application.ScreenUpdating = False
    Application.DisplayAlerts = False
    Set l1 = ThisWorkbook
    Set h1 = l1.Sheets(1)
    n1 = l1.Name
    h1.UsedRange.Offset(1, 0).ClearContents
    ruta = l1.Path & "\"
    arch = Dir(ruta & "*.xls*")
    Do While arch <> ""
        If arch <> n1 Then
            Set l2 = Workbooks.Open(ruta & arch, ReadOnly:=True)
            existe = False
            For Each h2 In l2.Sheets
                If UCase(h2.Name) = "REPORTE" Then
                    existe = True
                    Exit For
                End If
            Next
            If existe Then
                Set h2 = l2.Sheets("REPORTE")
                If h2.AutoFilterMode Then h2.AutoFilterMode = False
                u1 = h1.Range("A" & Rows.Count).End(xlUp).Row + 1
                u2 = h2.Range("A" & Rows.Count).End(xlUp).Row
                If u2 > 1 Then
                    h2.Range("A2:I" & u2).Copy
                    h1.Range("A" & u1).PasteSpecial xlValues
                End If
            End If
            l2.Close False
        End If
        arch = Dir()
    Loop
    Application.ScreenUpdating = True
    MsgBox "Fin"
End Sub

' : )
'S aludos. Dante Amor. Recuerda valorar la respuesta. G racias
' : )

Gracias Dan  por tu ayuda, demasiado agradecido por que realmente me ha servido mucho. Te quería hacer  dos consultas

En este momento me encuentro re-estructurando los reportes entonces quiero saber

  • Donde el código puedo establecer que la data se pueda pegar en el archivo a partir de la fila 15
  • Donde el código puedo ampliar que no  solamente se me copie la data de la columna A a la Columna I

En verdad me encuentro muy agradecido con toda tu ayuda  y quedo al pendiente de tu respuesta

Saludos

Escribe algo en la celda A14 y Cambia esta línea

H1. UsedRange.Offset(1, 0). ClearContents

Por esta

H1. UsedRange. Offset(14, 0). ClearContents

En la siguiente línea cambia la letra I por la columna que quieras

H2.Range("A2:I" & u2). Copy

sal u dos

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas