Workbook.RefreshAll para actualizar todas las tablas dinámicas

Tengo 20 tablas dinámicas en diferentes hojas de un libro, quiero saber si al crear esta macro podría actualizar todas las tablas dinámicas de las diferentes hojas.

sub actualiza_Datos()

Workbook.RefreshAll

End sub

Actualmente tengo una macro que va a cada tabla dinámica y la actualiza pero excel se bloquea ai que si la macro de arriba funcionara de verdad me ahorraría bloqueos y tiempo... Anexo la macro actual

Sub Actualizar_Datos()
Application.ScreenUpdating = False
'
' Actualizar_Datos Macro
Sheets("Matriz_Controles").Select
Range("A3:T151").Select
Selection.Copy
Sheets("Matriz").Select
Range("A3").Select
ActiveSheet.Paste
Range("A4").Select
Sheets("BASE(Matriz)").Select
Range("G1:J1").Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Copy
Sheets("BASE_DATOS(TD)").Select
Range("BASE_DATOS[[#Headers],[Cumplimiento]]").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Selection.Replace What:="No aplica", Replacement:="", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False
Sheets("TD_IND").Select
Range("C5").Select
Application.CutCopyMode = False
Application.ScreenUpdating = False
ActiveSheet.PivotTables("TDBuscarControlesIND").PivotCache.Refresh
Range("H5").Select
ActiveSheet.PivotTables("EjecuciónIND").PivotCache.Refresh
Application.ScreenUpdating = False
Range("O6").Select
ActiveSheet.PivotTables("ImportanciaIND").PivotCache.Refresh
Application.ScreenUpdating = False
Sheets("DASHBOARD_TEAM").Select
Range("e5").Select
ActiveSheet.PivotTables("DesempeñoTeam").PivotCache.Refresh
Application.ScreenUpdating = False
Sheets("TD_TEAM").Select
Range("B2").Select
ActiveSheet.PivotTables("ControlesTeam").PivotCache.Refresh
Application.ScreenUpdating = False
Sheets("CONTROLES_TEAM").Select
Range("G3").Select
ActiveSheet.PivotTables("ImportanciaTEAM").PivotCache.Refresh
Application.ScreenUpdating = False
Range("n7").Select
ActiveSheet.PivotTables("EjecuciónTeam").PivotCache.Refresh
Application.ScreenUpdating = False
Application.Run "Matriz_Controles.xlsm!Ranking"
Application.ScreenUpdating = False
Sheets("Inicio").Select
Range("A1").Select
'Application.ScreenUpdating = True
ActiveWindow.DisplayWorkbookTabs = False
End Sub

1 respuesta

Respuesta

[Hola

Intenta así:

Sub ActualizarTD()
Dim Hoja As Worksheet
Dim TD As PivotTable
For Each Hoja In Worksheets
    For Each TD In Hoja.PivotTables
        TD.RefreshTable
    Next TD
Next Hoja
End Sub

Comentas

Abraham Valencia

Pero entonces mi pregunta si con Workbook. ¿RefreshAll se actualizan todas las tablas dinámicas del libro es SI o NO? Porque si es si entonces lo más sencillo seria solo colocar ese código en vez del código que tu me propones... muchas gracias.

Si tu versión de Excel no es tan antigua coml pensé, usa:

ActiveWorkbook. RefreshAll

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas