Actualizar Tabla Dinámica sin salir de hoja

8 envíos / 0 nuevos
Último envío
Luis Guzman
Imagen de Luis Guzman
Offline
última acción: Hace 3 años 9 meses
alta: 08/03/2017 - 23:12
Puntos: 290
Actualizar Tabla Dinámica sin salir de hoja

Necesito que la Tabla Dinámica se actualice automáticamente sin tener que activar la hoja. Es decir al realizar un filtro de la tabla original actualizar la TD que esta en la misma hoja de los datos originales.

Etiquetas: 

pacomegia
Imagen de pacomegia
Offline
última acción: Hace 17 horas 19 mins
Nivel 1 - 200 puntosNivel 2 - 500 puntosNivel 3 - 1000 puntosNivel 4 - 2000 puntosNivel 5 - 4000 puntosadministrador
alta: 27/12/2006 - 23:26
Puntos: 11175
para actualizar una tabla

para actualizar una tabla dinámica en la hoja activa sería algo así:

ActiveSheet.PivotTables(1).PivotCache.Refresh

las tablas dinámicas tienen un nombre, así que también puedes referirte a ella por su nombre, por ejemplo

ActiveSheet.PivotTables("TablaDinámica1")

 

Si la tabla está en otra hoja, pues en vez de ActiveSheet, utiliza la hoja que sea

Worksheets("otrahoja").PivotTables(1).PivotCache.Refresh

 

Ahora el tema es ver cuándo ejecutar este código para que se haga automáticamente.

No hay un evento que se produzca al aplicar un filtro en la hoja, así que tendrías que utilizar otro evento de los disponibles en la hoja. por ejemplo el evento Change (al editar una celda) o el evento Calculate (si hay alguna fórmula que se calcule al filtrar). Eso dependerá de lo pienses que vaya a hacer el usuario de la hoja.

 

 

------
Ya sé Excel, pero necesito más.

Luis Guzman
Imagen de Luis Guzman
Offline
última acción: Hace 3 años 9 meses
alta: 08/03/2017 - 23:12
Puntos: 290
Tabla Dinamica

Te agradezco tu apoyo, disculpa por creer que me explique bien en cuanto mi necesidad. 

Te explico un poco mas tengo la hoja1 donde está mi tabla original-

En la hoja2 tengo mi Tabla dinámica "TD1" y ahi mismo hice otra Tabla Dinámica "TD1_1" ocupando el rango de la "TD1", así que depende directamente de la TD1.

En la hoja 3 hice unos gráficos de la TD1 y la TD_1 con la segmentación de datos de la TD1.

Tengo incorporado el código para que se actualicen cada vez que activo la hojas.

Pero cuando filtro con la segmentación de datos de la TD1, me doy cuenta que la TD1_1 no se actualiza automáticamente, Solo hasta que me muevo de hoja (por el codigo Activesheet) o bien haciendolo manual.

Nota. No me sirve crear la TD1_1 directamente de la TD1, es decir crear Tabla Dinámica de Tabla Dinámica, no me sirve porque no me da lo que quiero, así que la tengo que crear con un rango dinámico sobre los datos de la TD1.

 

Espero haberme explicado un poco.

Nota. No puedo subir el archivo por ser del trabajo y me matan si alguien de pura casualidad lo ve. jeje.

Cron
Imagen de Cron
Offline
última acción: Hace 8 meses 1 día
Nivel 1 - 200 puntosNivel 2 - 500 puntosNivel 3 - 1000 puntosNivel 4 - 2000 puntosNivel 5 - 4000 puntos
alta: 23/06/2010 - 12:30
Puntos: 12735
Pincha encima del cuadro de

Pincha encima del cuadro de segmentación de datos. Una vez lo hayas hecho, te aparecerá en el menú una opción que se llama "Herramientas de Segmentación de datos - Opciones"

Selecciona esa opción y en la banda del menú busca un botón que se llama "Conexiones de informes". Te aparecerá una ventana con una lista de todas las tablas dinámicas y gráficos dinámicos del documento. Marca las que quieras que respondan al filtro de la segmentación de datos.

 

Espero que te sirva.

Un saludo

Luis Guzman
Imagen de Luis Guzman
Offline
última acción: Hace 3 años 9 meses
alta: 08/03/2017 - 23:12
Puntos: 290
No me da la conexión

Gracias por la ayuda.

 

Quise hacer eso desde un principio pero al conectar me dice error "no se puede hacer la conexion en este momento"

 

Cron
Imagen de Cron
Offline
última acción: Hace 8 meses 1 día
Nivel 1 - 200 puntosNivel 2 - 500 puntosNivel 3 - 1000 puntosNivel 4 - 2000 puntosNivel 5 - 4000 puntos
alta: 23/06/2010 - 12:30
Puntos: 12735
¿Puede ser que al aplicar el

¿Puede ser que al aplicar el filtro, las dos tablas dinámicas se solapen? Intenta dejar una separación adecuada entre ellas, o inténtalo colocando cada una en una hoja diferente (aunque sea para probar)

Un saludo

Luis Guzman
Imagen de Luis Guzman
Offline
última acción: Hace 3 años 9 meses
alta: 08/03/2017 - 23:12
Puntos: 290
Solucionado

Como volví a tener la misma inquietud segui tu consejo aunado a otro post que lo completó, y aqui lo solucioné de la siguiente manera:

Private Sub Worksheet_Calculate()

Static anteriorvalor As Variant

    If Range("D7").Value <> anteriorvalor Then

        anteriorvalor = Range("D7").Value

        ActiveSheet.Unprotect ("GDASPE")

    ActiveWorkbook.RefreshAll

    ActiveSheet.Protect ("GDASPE"), AllowFiltering:=True, _

AllowUsingPivotTables:=True

Application.ScreenUpdating = True

    End If

End Sub

 

Agradezco infinitamente sus atenciones.

diegocalvoyauri (no verificado)
Imagen de diegocalvoyauri
pregunta

me gustaria entenderte mejor, tengo el mismo problema pero aun no puedo solucionar