Hola a todos!:
Hace unos días un lector me preguntaba acerca de cómo podía actualizar todas las tablas dinámicas que tenía en su libro de trabajo. Para poder hacer esto es necesario realizar una sencilla macro que recorra todas las hojas de nuestro libro y en el momento que detecte una tabla dinámica, la actualice o la refresque.
La macro que vamos a utilizar es la siguiente:
Sub Actualiza_Todas_Tabla()
'Declaramos variables
Dim nHojas As Worksheet
Dim tDinamica As PivotTable
'Recorremos todas las hojas
For Each nHojas In ThisWorkbook.Worksheets
'Recorremos todas las tablas de cada hoja
For Each tDinamica In nHojas.PivotTables
'Refrescamos
tDinamica.RefreshTable
Next tDinamica
Next
End Sub
Como podéis comprobar en los comentarios de la macro se realiza la tarea requerida.
A continuación, este lector me solicitaba lo mismo para condicionando solo algunas de las tablas dinámicas para ser actualizadas, por ejemplo que solo actualice la tabla dinámica 1:
Sub Actualiza_Tabla()
'Declaramos variables
Dim nHojas As Worksheet
Dim tDinamica As PivotTable
'Recorremos todas las hojas
For Each nHojas In ThisWorkbook.Worksheets
'Recorremos todas las tablas de cada hoja
For Each tDinamica In nHojas.PivotTables
'Si la tabla se llama TablaDinámica1 entonces refrescamos esa tabla.
If tDinamica.Name = "TablaDinámica1" Then tDinamica.RefreshTable
Next tDinamica
Next
End Sub
Y eso es todo, ha sido un post muy breve, pero seguro que os resulta de utilidad en vuestros proyectos.
🙂