MS Excel 2003: actualice automáticamente la tabla dinámica cuando cambien los datos en la hoja de trabajo

Los datos expuestos en este blog, son solo de índole informativo. Por favor realiza siempre una copia de seguridad antes de realizar cualquier cambio en tu proyecto.

MS Excel 2003: actualice automáticamente la tabla dinámica cuando cambien los datos en la hoja de trabajo

Este tutorial de Excel le muestra cómo escribir una macro para actualizar automáticamente una tabla dinámica (con capturas de pantalla e instrucciones paso a paso) cuando los datos cambian en una hoja de cálculo en Excel 2003 y versiones anteriores.

Problema: en Microsoft Excel 2003/XP/2000/97, estoy buscando una macro que actualice automáticamente una tabla dinámica cuando cambien los datos en una hoja de cálculo de Excel. ¿Es posible?

R: Hay varios “eventos” disponibles en las hojas de cálculo de Excel donde puede colocar el código VBA. En su caso, queremos actualizar la tabla dinámica cuando se activa el evento “Worksheet_Calculate”.

Veamos un ejemplo.

Descargue la hoja de cálculo de Excel (que se muestra a continuación)

En nuestra hoja de cálculo, hay dos tablas: una llamada datos, que contiene los datos de origen de la tabla dinámica. La otra hoja de trabajo se llama Pivot, que contiene la tabla dinámica.

En la hoja de trabajo llamada Datos, colocamos código en el evento “Worksheet_Calculate” para que cada vez que cambien los datos en la hoja de trabajo “Data”, la tabla dinámica se actualice.

Puede presionar Alt+F11 para ver el código VBA.

Nota: Esto solo funcionará si tiene la hoja de cálculo configurada para cálculos “Automáticos”. Esta es la configuración predeterminada para la mayoría de las hojas de cálculo de Excel, pero algunas personas desactivan esta función.

codigo macro

El código de la macro se ve así:

Private Sub Worksheet_Calculate()

   'If data on this worksheet changes, refresh the pivot table
   Sheets("Pivot").PivotTables("PivotTable1").RefreshTable

End Sub