Tecnología

Inicio

Cómo cambiar la fuente de una tabla dinámica de Excel con VBA

Cómo cambiar la fuente de una tabla dinámica de Excel con VBA


Microsoft Excel es una aplicación de hoja de cálculo. Una característica de este programa es que se puede utilizar sus hojas de trabajo para almacenar datos de manera similar a la forma en que lo haría en una base de datos y luego hacer referencia a ella en las pantallas gráficas dinámicas. Hay dos tipos de pantallas que puede utilizar: tablas dinámicas y gráficos dinámicos. Tablas dinámicas se pueden utilizar para ordenar, filtrar y resumir los datos. La única manera de cambiar la fuente de datos utilizada por una tabla dinámica, una vez que se ha creado a través del asistente es actualizar desde el código VBA en el fondo.

Instrucciones

1 Crear un objeto de tabla dinámica en VBA para que pueda actualizar el origen. Copia el código de abajo y lo puso en su macro o función.

Dim ptMyPivotTable Como tabla dinámica

2 Conectar el objeto de tabla dinámica con su tabla dinámica real. Copia el código de abajo.

Establecer ptMyPivotTable = ActiveSheet.PivotTables (1)

3 Actualizar la propiedad SourceData de su objeto de tabla dinámica a los nuevos valores. Puede hacerlo copiando el código VBA proporcionado. Sustituir el rango de datos deseado en lugar de "A1" en el ejemplo.

ptMyPivotTable.SourceData = Range ( "A1"). CurrentRegion.Address (Cierto, cierto, xlR1C1, True)

Para hacer referencia a un rango en una hoja diferente, puede utilizar el siguiente código.

ptMyPivotTable.SourceData = Sheets ( "mySheetName"). [A1] .CurrentRegion.Address (Cierto, cierto, xlR1C1, True)

4 Actualizar los datos que se visualizan realmente en su tabla dinámica mediante el comando de VBA a continuación.

ptMyPivotTable.RefreshTable

5 Liberar los recursos que utilizó en su objeto de tabla dinámica definiéndola como igual a nada.

Establecer ptMyPivotTable = Nada

Consejos y advertencias

  • Puede hacer que los datos de la tabla dinámica se actualizan cada vez que cambien los datos reales. Para ello acaba de establecer la hoja de cálculo para calcular automáticamente y añadir el comando RefreshTable a la función Worksheet_Calculate. Vea el enlace en la sección Recursos para obtener más detalles.