¿Cómo actualizar una tabla dinámica automáticamente con VBA?

Para actualizar automáticamente una tabla dinámica en Excel mediante VBA, puedes utilizar una macro que se ejecute cada vez que cambien los datos de origen o simplemente cuando lo desees. A continuación, te presento un ejemplo de cómo hacerlo:

   Sub ActualizarTablaDinamica()
       Dim pt As PivotTable
       Dim ws As Worksheet
       
       ' Cambia "Hoja1" por el nombre de tu hoja de cálculo
       Set ws = ThisWorkbook.Sheets("Hoja1")
       
       ' Cambia "TablaDinámica1" por el nombre de tu tabla dinámica
       Set pt = ws.PivotTables("TablaDinamica1")
       
       ' Actualizar la tabla dinámica
       pt.RefreshTable
   End Sub
   Private Sub Workbook_Open()
       Call ActualizarTablaDinamica
   End Sub
  • Abrir VBA: Presiona `ALT + F11` para abrir el editor de VBA en Excel.
  • Insertar un módulo: En el editor de VBA, selecciona `Insertar` > `Módulo` para crear un nuevo módulo.
  • Escribir la macro: Introduce el siguiente código en el módulo. Este código asume que tienes una hoja de cálculo llamada `Hoja1` y que tu tabla dinámica se encuentra en ella:
  • Asociar la macro a un evento (opcional): Si deseas que la tabla se actualice automáticamente cada vez que ocurran ciertos eventos, como al abrir el archivo o cambiar los datos, puedes asociar la macro a dichos eventos. Por ejemplo, para actualizar al abrir el archivo, coloca el siguiente código en `ThisWorkbook`:

Para hacerlo, en el editor de VBA, expande `VBAProject (TuArchivo.xlsx)` y luego `Microsoft Excel Objects`. Haz doble clic en `ThisWorkbook` y pega el código anterior.

  • Actualizar la lista de tablas dinámicas: Asegúrate de que el nombre «TablaDinamica1» coincida con el nombre real de tu tabla dinámica. Puedes verificar y cambiar el nombre seleccionando la tabla dinámica en la hoja de cálculo, luego ir a `Analizar` > `Opciones` en la cinta de Excel, donde verás el nombre de la tabla dinámica.
  • Ejecutar la macro: Puedes ahora ejecutar esta macro manualmente desde `Desarrollador` > `Macros` > `Selecciona ActualizarTablaDinamica` > `Ejecutar`, o esperarla a que se ejecute automáticamente según los eventos que hayas configurado.

Este método te proporcionará una manera efectiva de mantener tus tablas dinámicas actualizadas de manera automática mediante VBA en Excel.

Conoce nuestra tienda

Ver más productos

Mejora tu nivel y logra tus objetivo

Excel

Excel cursos

Access

cursos de Access

Power BI

cursos power BI

Ayúdanos a hacer crecer el proyecto

Deja un comentario