Tabla de contenido
Aplicación de Macro VBA es el método más eficaz, rápido y seguro para ejecutar cualquier operación en Excel. En este artículo, le mostraremos cómo actualizar la tabla dinámica en Excel utilizando VBA.
Descargar el cuaderno de ejercicios
Puede descargar gratuitamente el libro de ejercicios de Excel desde aquí.
Actualizar tabla dinámica con VBA.xlsm
5 Ejemplos para actualizar tabla dinámica con VBA en Excel
A continuación te mostramos el ejemplo de nuestra tabla dinámica que utilizaremos a lo largo de todo el artículo y te mostraremos 5 ejemplos diferentes de actualización de tablas dinámicas en Excel con VBA código.
1. VBA para actualizar una tabla dinámica en Excel
Si desea actualizar sólo una tabla dinámica en su hoja de cálculo Excel,
- Pulse Alt + F11 en su teclado o vaya a la pestaña Desarrollador -> Visual Basic para abrir Editor de Visual Basic .
- En la ventana de código emergente, en la barra de menús, haga clic en Insertar -> Módulo .
- Copie el siguiente código y péguelo en la ventana de código.
Sub RefreshOnePivotTable() ActiveSheet.PivotTables("PivotTable1").RefreshTable End Sub
Su código ya está listo para ejecutarse.
Toma, TablaPivotante1 es el nombre de nuestra Tabla Dinámica. Escribe el nombre que tiene tu Tabla Dinámica.
- Pulse F5 en el teclado o, en la barra de menús, seleccione Run -> Run Sub/UserForm También puede hacer clic en el botón pequeño icono Play en la barra del submenú para ejecutar la macro.
De este modo actualizar la tabla dinámica en su hoja de cálculo Excel existente.
Más información: La tabla dinámica no se actualiza (5 problemas y soluciones)
2. Macro para actualizar todas las tablas dinámicas de la hoja de cálculo activa
Para actualizar todas las tablas dinámicas de la hoja de cálculo activa Siga los pasos que se indican a continuación.
- De la misma manera que antes, abra Editor de Visual Basic del Desarrollador y Inserte a Módulo en la ventana de código.
- En la ventana de código, copia el siguiente código y pégalo.
Sub RefreshActiveSheetPivotTables() Dim PivotTbl As PivotTable For Each PivotTbl In ActiveSheet.PivotTables PivotTbl.RefreshTable Next PivotTbl End Sub
Su código ya está listo para ejecutarse.
- Ejecutar la macro y se actualizarán todas las tablas dinámicas de la hoja de cálculo activa.
Más información: Cómo Actualizar Todas las Tablas Dinámicas en Excel
3. Código VBA para Actualizar Todas las Tablas Dinámicas en Múltiples Libros de Trabajo
Si desea actualizar todas las tablas dinámicas de varios libros de trabajo a la vez con VBA código entonces los pasos son:
- Abrir Editor de Visual Basic del Desarrollador y Inserte a Módulo en la ventana de código.
- En la ventana de código, copia el siguiente código y pégalo.
Sub RefreshAllPivotTables() Dim PivotTbl As PivotTable For Each PivotTbl In ActiveWorkbook.PivotTables PivotTbl.RefreshTable Next PivotTbl End Sub
Su código ya está listo para ejecutarse.
- Ejecutar el código y se actualizarán todas las tablas dinámicas de todos los libros de Excel que tengas abiertos.
Recuerde para guardar todos los libros de trabajo abra mientras se ejecuta este código.
Lecturas similares
- Cómo editar una tabla dinámica en Excel (5 métodos)
- Actualizar rango de tabla dinámica (5 métodos adecuados)
- Cómo actualizar automáticamente una tabla dinámica cuando cambian los datos de origen
4. Actualizar la caché de tabla dinámica con VBA en Excel
Si tiene varias tablas dinámicas en su libro de trabajo que utilizan los mismos datos, puede actualizar sólo la caché de la tabla dinámica La actualización de la caché limpia automáticamente la memoria caché de todas las tablas pivotantes que utilizan la misma conexión de datos en la caché.
Los pasos para hacerlo son,
- Abrir Editor de Visual Basic del Desarrollador y Inserte a Módulo en la ventana de código.
- En la ventana de código, copia el siguiente código y pégalo.
Sub RefreshPivotTableCache() Dim PivotCache As PivotCache For Each PivotCache In ActiveWorkbook.PivotCaches PivotCache.Refresh Next PivotCache End Sub
Su código ya está listo para ejecutarse.
- Ejecutar el código y se borrarán todas las memorias caché de la tabla dinámica.
Más información: Cómo actualizar automáticamente la tabla dinámica sin VBA en Excel (3 métodos inteligentes)
5. Actualizar automáticamente la tabla dinámica al cambiar los datos con una macro VBA
¿Qué pasa si usted tiene una tabla dinámica que tiene una gran cantidad de datos y todo lo que desea es actualizar algunos datos, mientras que tener toda la tabla sin tocar. En Excel, puede auto-refrescar la tabla dinámica mientras se actualizan los datos con VBA .
- Abrir Editor de Visual Basic del Promotor.
- En la parte izquierda del editor, habría un Explorador de proyectos que contiene todos los nombres de la hoja de cálculo.
- En Explorador de proyectos Haga doble clic en el nombre de la hoja que contiene la tabla dinámica.
- Aparecerá la ventana de código donde crearemos una macro de evento. Elige Hoja de trabajo del Objeto a la izquierda del módulo de código. Esto añadirá un Cambio_Selección_hoja_de_trabajo al módulo, en realidad no lo necesitamos así que borraremos este trozo de código más adelante.
- A continuación, haga clic en el botón Procedimiento y seleccione Cambia Esto añade un nuevo evento en la parte superior del módulo de código llamado Cambio_hoja_trabajo Escribiremos nuestro código así borrar el código generado por el Cambio_Selección_hoja_de_trabajo
- Ahora copie el siguiente código y péguelo en el campo Cambio_hoja_trabajo
Private Sub Worksheet_Change(ByVal Target As Range) Worksheets("PivotTbl").PivotTables("PivotTable1").PivotCache.Refresh End Sub
Su código ya está listo para ejecutarse.
Toma, PivotTbl es el nombre de la hoja de nuestro libro Excel y TablaPivotante1 es el nombre de nuestra Tabla Dinámica. Usted escribe el nombre que tiene su hoja de cálculo y su Tabla Dinámica.
- Ahora, cada vez que cambie los datos de la tabla de datos original de la hoja de cálculo, los datos de la tabla dinámica se actualizarán automáticamente.
Más información: Cómo actualizar automáticamente una tabla dinámica en Excel
Conclusión
Este artículo muestra cómo actualizar la tabla dinámica en Excel con VBA Espero que este artículo le haya sido muy útil. No dude en preguntar si tiene alguna duda sobre el tema.