Como hacer Macros para una tabla dinamica que tome datos de diferentes libros

Espero que alguien me pueda ayudar con este tema, lo que pasa que necesito armar una tabla dinámica que tome valores de diferentes libros, todos estos tendrían los mismos encabezados solo se irían complementando.. Bueno si alguien me entiende y gusta ayudarme me harían un gran favor..

1

1 respuesta

Respuesta
1

Envíame 3 libros, 2 de los libros deberán tener la información origen, en un tercer libro me pones cómo quieres la información de los 2 libros anteriores, explícame con colores y comentarios.

S aludos

Hola ya te mande a tu correo los libros que me pides

Te anexo la macro para actualizar la tabla dinámica

Sub ActualizarTabla()
'Por.Dante Amor
    Application.DisplayAlerts = False
    Application.ScreenUpdating = False
    Set l1 = ThisWorkbook
    Set h1 = l1.Sheets("Hoja1")
    Set h2 = l1.Sheets("Hoja2")
    h2.UsedRange.Offset(1, 0).Delete
    ruta = l1.Path & "\"
    archivos = Dir(ruta & "origen*")
    '
    Do While archivos <> ""
        Set l2 = Workbooks.Open(ruta & archivos)
        Set h3 = l2.Sheets(1)
        u3 = h3.Range("A" & Rows.Count).End(xlUp).Row
        u2 = h2.Range("A" & Rows.Count).End(xlUp).Row + 1
        h3.Range("A2:D" & u3).Copy h2.Range("A" & u2)
        l2.Close
        archivos = Dir()
    Loop
    '
    u4 = h2.Range("A" & Rows.Count).End(xlUp).Row
    ActiveSheet.PivotTables("Tabla dinámica1").ChangePivotCache _
        ActiveWorkbook. _
        PivotCaches.Create(SourceType:=xlDatabase, _
        SourceData:=h2.Name & "!R1C1:R" & u4 & "C4", _
        Version:=xlPivotTableVersion12)
    ActiveSheet.PivotTables("Tabla dinámica1").PivotFields("nombre").AutoSort _
        xlAscending, "nombre"
    Application.ScreenUpdating = True
    MsgBox "Tabla dinámica actualizada", vbInformation
End Sub

Sal u dos

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas