Actualizado el: 02/10/2025
Sub Actualizar_TablasDinam()
Dim ws As Worksheet
Dim claveProteccion As String
Dim pt As PivotTable
Dim nombreHoja As String
claveProteccion = "1111"
nombreHoja = "TD_Print"
Set ws = Worksheets(nombreHoja)
' Desproteger hoja
ws.Unprotect Password:=claveProteccion
' Refrescar tablas dinámicas si existen
On Error Resume Next
For Each Hoja In ActiveWorkbook.Sheets
'Recorremos cada TD de cada hoja
For Each TD In Hoja.PivotTables
'Actualizar cada TD
TD.RefreshTable
Next TD
Next Hoja
On Error GoTo 0
' Reproteger hoja con permisos para segmentaciones
ws.Protect Password:=claveProteccion, DrawingObjects:=False, Contents:=True, Scenarios:= _
False, AllowFiltering:=True, AllowUsingPivotTables:=True
MsgBox "Carta Actualizada", vbInformation, "Excel Consultor"
End Sub