Contenido
Borrar el caché de una tabla dinámica en Excel puede ayudar a resolver algunos errores relacionados con datos antiguos o desactualizados en la tabla. Puedes hacerlo mediante VBA siguiendo estos pasos:
Sub ClearPivotCache()
Dim sht As Worksheet
Dim pvt As PivotTable
Dim cache As PivotCache
' Iterar a través de cada hoja de trabajo
For Each sht In ThisWorkbook.Worksheets
' Iterar a través de cada tabla dinámica en la hoja de trabajo
For Each pvt In sht.PivotTables
' Establecer el caché de la tabla dinámica
Set cache = pvt.PivotCache
' Borrar el caché
cache.MissingItemsLimit = xlMissingItemsNone
' Refrescar la tabla dinámica
pvt.RefreshTable
Next pvt
Next sht
MsgBox "El caché de todas las tablas dinámicas ha sido borrado y actualizado."
End Sub
- Abre el editor VBA: Presiona `ALT` + `F11` en Excel para abrir el Editor de Visual Basic para Aplicaciones.
- Inserta un nuevo módulo:
- Haz clic derecho en el proyecto de tu libro de Excel en el Explorador de Proyectos.
- Selecciona «Insertar» y luego «Módulo».
- Escribe el código VBA: Copia y pega el siguiente código en el módulo que acabas de crear:
- Ejecuta el código:
- Cierra el editor de VBA y regresa a Excel.
- Presiona `ALT` + `F8` para abrir la ventana de macros.
- Selecciona `ClearPivotCache` de la lista de macros y haz clic en «Ejecutar».
Este script recorre cada hoja de trabajo en el libro, localiza todas las tablas dinámicas y borra el caché de cada una. Además, actualiza la tabla dinámica para asegurar que los datos estén actualizados. Si tu libro tiene muchas hojas o tablas dinámicas, este proceso podría tardar un poco.
Es importante mencionar que, antes de ejecutar cualquier script de VBA, debes guardar tu trabajo y asegurarte de que los cambios no deseados puedan revertirse. Además, habilita las macros en tu libro de Excel para que el script pueda ejecutarse.