Saltar al contenido

Actualizar todas las tablas dinámicas en mi libro de Excel con un macro

Después de mucho trabajar ya hallamos el arreglo de este contratiempo que muchos lectores de este espacio presentan. Si tienes algo más que aportar no dudes en compartir tu conocimiento.

Solución:

Sí.

ThisWorkbook.RefreshAll

O, si su versión de Excel es lo suficientemente antigua,

Dim Sheet as WorkSheet, Pivot as PivotTable
For Each Sheet in ThisWorkbook.WorkSheets
    For Each Pivot in Sheet.PivotTables
        Pivot.RefreshTable
        Pivot.Update
    Next
Next

Este código de VBA actualizará todas las tablas/gráficos dinámicos en el libro de trabajo.

Sub RefreshAllPivotTables()

Dim PT As PivotTable
Dim WS As Worksheet

    For Each WS In ThisWorkbook.Worksheets

        For Each PT In WS.PivotTables
          PT.RefreshTable
        Next PT

    Next WS

End Sub

Otra opción no programática es:

  • Haga clic derecho en cada tabla dinámica
  • Seleccionar opciones de tabla
  • Marque la ‘Actualizar al abrir’ opción.
  • Haga clic en el botón Aceptar

Esto actualizará la tabla dinámica cada vez que se abra el libro de trabajo.

ActiveWorkbook.RefreshAll actualiza todo, no solo las tablas dinámicas sino también las consultas ODBC. Tengo un par de consultas de VBA que se refieren a conexiones de datos y el uso de esta opción se bloquea cuando el comando ejecuta las conexiones de datos sin los detalles proporcionados por VBA.

Recomiendo la opción si solo quieres actualizar los pivotes

Sub RefreshPivotTables()     
  Dim pivotTable As PivotTable     
  For Each pivotTable In ActiveSheet.PivotTables         
    pivotTable.RefreshTable     
  Next 
End Sub 

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *