Contenido
Para borrar el caché de una tabla dinámica utilizando VBA, puedes emplear el método `PivotCache.Clear` que está asociado al objeto `PivotTable`. A continuación, te muestro cómo puedes hacerlo:
Sub ClearPivotTableCache()
Dim ws As Worksheet
Dim pt As PivotTable
' Setea la hoja de trabajo donde está la tabla dinámica
Set ws = ThisWorkbook.Sheets("NombreDeTuHoja") ' Reemplaza "NombreDeTuHoja" con el nombre de la hoja donde está la tabla dinámica.
' Setea la tabla dinámica que quieres borrar
Set pt = ws.PivotTables("NombreDeTuTablaDinamica") ' Reemplaza "NombreDeTuTablaDinamica" con el nombre de tu tabla dinámica.
' Limpia el caché de la tabla dinámica
pt.PivotCache.MissingItemsLimit = xlMissingItemsNone
pt.PivotCache.Refresh
' Actualiza la tabla dinámica en caso de ser necesario
pt.RefreshTable
End Sub
- Abre el editor de VBA en Excel presionando `ALT + F11`.
- Inserta un nuevo módulo desde el menú `Insertar > Módulo`.
- Copia y pega el siguiente código en el módulo:
- Asegúrate de reemplazar `»NombreDeTuHoja»` y `»NombreDeTuTablaDinamica»` con los nombres correctos de la hoja de cálculo y la tabla dinámica, respectivamente.
- Ejecuta el script presionando `F5` o seleccionando el procedimiento `ClearPivotTableCache` y haciendo clic en el botón ‘Ejecutar’.
Este procedimiento establecerá la propiedad `MissingItemsLimit` a `xlMissingItemsNone` para el caché de la tabla dinámica, lo que debería ayudar a que se borre cualquier elemento obsoleto o no deseado del caché cuando se refresque la tabla. Además, el método `PivotCache.Refresh` ayudará a actualizar el caché de la tabla dinámica.