Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Modificar tabla dinamica desde macro

1,972 views
Skip to first unread message

ahue...@gmail.com

unread,
May 22, 2009, 12:07:28 PM5/22/09
to
Hola a quien pueda ayudarme, y gracias desde este momento

Tengo unas 200 tablas dinámicas y necesito hacer dos cosas con ellas:
1) cambiar el filtro de todas de manera automática
2) que el nuevo filtro lo determine una lista desplegable. Es decir,
si en la lista desplegable elijo la opción 2, se ejecute una macro que
me modifique todas las tablas que tengo poniéndoles como nuevo filtro
el 2 (que, obviamente, es un valor que existe en la lista de campos)

Cualquier ayuda será bienvenida. Gracias


Augusto

H�ctor Miguel

unread,
May 22, 2009, 5:38:39 PM5/22/09
to
hola, Augusto !

> Tengo unas 200 tablas dinamicas y necesito hacer dos cosas con ellas:
> 1) cambiar el filtro de todas de manera automatica


> 2) que el nuevo filtro lo determine una lista desplegable.

> Es decir, si en la lista desplegable elijo la opcion 2
> se ejecute una macro que me modifique todas las tablas que tengo poni�ndoles como nuevo filtro el 2


> (que, obviamente, es un valor que existe en la lista de campos)

supongamos que "la lista" (o su valor) esta indicado en la celda F1 de "(alg)una" de las hojas (pongamos que la hoja1)
y supongamos tambien que cada TD esta en su hoja "correspondiente" (???)
prueba usando el siguiente codigo en el modulo de "esa" hoja (la hoja1 ?)

Private Sub Worksheet_Calculate()
Dim Hoja As Worksheet
For Each Hoja In Worksheets(Array("hoja2", "hoja3", "hoja4", "hoja5"))
Hoja.PivotTables(1).PageFields(1).CurrentPage = CStr(Range("f1"))
Next
End Sub

el evento podria optimizarse al conocer (exactamente) si los cambios en "la lista" disparan el evento '_change' (???)

si cualquier duda (o informacion adicional)... comentas ?
saludos,
hector.


ahue...@gmail.com

unread,
May 25, 2009, 4:27:14 AM5/25/09
to
Hola, Hector, y muchas gracias

He probado este código que me pones, poniendo bien la celda de
referencia y demás, pero las dinámicas no cambian...siguen filtradas
por la misma variable.

Lo que necesito yo es justo lo que dices: hacer que los cambios en la
lista disparen el evento "_change", que consistiría en modificar todas
las dinámicas de otra hoja según el nuevo parámetro que diga la
lista...

Se te ocurre algo??

On 22 mayo, 23:38, "Héctor Miguel" <NOhemiordiS...@PLShotmail.com>
wrote:


> hola, Augusto !
>
> > Tengo unas 200 tablas dinamicas y necesito hacer dos cosas con ellas:
> > 1) cambiar el filtro de todas de manera automatica
> > 2) que el nuevo filtro lo determine una lista desplegable.
> > Es decir, si en la lista desplegable elijo la opcion 2

> > se ejecute una macro que me modifique todas las tablas que tengo poniéndoles como nuevo filtro el 2

H�ctor Miguel

unread,
May 25, 2009, 10:02:49 PM5/25/09
to
hola, Augusto !

> He probado este codigo que me pones, poniendo bien la celda de referencia y demas
> pero las dinamicas no cambian...siguen filtradas por la misma variable.


> Lo que necesito yo es justo lo que dices: hacer que los cambios en la lista disparen el evento "_change"

> que consistiria en modificar todas las dinamicas de otra hoja segun el nuevo parametro que diga la lista...
> Se te ocurre algo??

(para empezar...)
que comentes los detalles que (desde este lado del mensaje) se tendrian que imaginar/suponer/(tratar de) "adivinar"/... (p.e.)

1) que es (exactamente) "la lista" ???
- reglas de validacion ?
- algun "combo" ? (de que tipo ?, formularios, cuadro de controles)
- de donde se toman los datos para "la lista" ?
- cual es la celda que toma el dato de "la lista" ?

2) donde estan las ~200 tabas dinamicas ?
- 10 por hoja ?
- cada una en "su hoja" ?
- cuantos filtros de pagina tiene cada TD ?
- cuantas (y cuales) son las hojas con tablas dinamicas ?

3) como podriamos (re)construir un modelo de trabajo (exactamente) "igual al tuyo" ?

saludos,
hector.

__ previos __


>> Tengo unas 200 tablas dinamicas y necesito hacer dos cosas con ellas:
>> 1) cambiar el filtro de todas de manera automatica
>> 2) que el nuevo filtro lo determine una lista desplegable.
>> Es decir, si en la lista desplegable elijo la opcion 2

>> se ejecute una macro que me modifique todas las tablas que tengo poni�ndoles como nuevo filtro el 2

tom...@gmail.com

unread,
May 31, 2009, 6:35:24 PM5/31/09
to
On 25 mayo, 22:02, "Héctor Miguel" <NOhemiordiS...@PLShotmail.com>
wrote:
> >> se ejecute una macro que me modifique todas las tablas que tengo poniéndoles como nuevo filtro el 2

> >> (que, obviamente, es un valor que existe en la lista de campos)
>
> > supongamos que "la lista" (o su valor) esta indicado en la celda F1 de "(alg)una" de las hojas (pongamos que la hoja1)
> > y supongamos tambien que cada TD esta en su hoja "correspondiente" (???)
> > prueba usando el siguiente codigo en el modulo de "esa" hoja (la hoja1 ?)
>
> > Private Sub Worksheet_Calculate()
> > Dim Hoja As Worksheet
> > For Each Hoja In Worksheets(Array("hoja2", "hoja3", "hoja4", "hoja5"))
> > Hoja.PivotTables(1).PageFields(1).CurrentPage = CStr(Range("f1"))
> > Next
> > End Sub
>
> > el evento podria optimizarse al conocer (exactamente) si los cambios en "la lista" disparan el evento '_change' (???)

Hola Amigos

HAce un tiempo he estado buscando alguna solucion a un problema que
tengo con las TD y las macros, me cuelgo de este post porque es
parecido a lo que busco, sorry si causa alguna molestia, pero necesito
esto de forma urgente.

El tema es así:

Supongamos que en la Hoja1 tengo los datos con los cuales construi las
TD y en la Hoja2 tengo 2 TD's que se basan en los mismos datos, pero
muestran algunos valores diferentes (como por ejemplo una muestra
ingresos en un periodo y la otra egresos). El asunto es que quiero
filtrar un campo que contiene fechas, pero hay tantos datos basura en
la base que me salen muchas cosas que no corresponden a fechas, la
idea es dejar la base como esta y trabajar con las TD's. Entonces cada
vez que introduzco nuevos datos tengo que filtrar manualmente el campo
fecha y me toma mucho tiempo.

Mi idea es por ejemplo , en la hoja donde estan las tablas dinamicas,
en alguna celda introducir una fecha y que al hacer correr una macro
actualice las tablas con los nuevos datos y ademas filtre
automaticamente el campo fecha de la TD de acuedo a la fecha que esta
introducida en esa celda.

Se puede hacer algo asi?....y que pasaria por ejemplo si la fecha
introducida no esta en el rango de datos?....muchas gracias de
antemano por la ayuda.

Saludos,
Rodrigo

H�ctor Miguel

unread,
May 31, 2009, 7:55:47 PM5/31/09
to
hola, Rodrigo !

(hasta donde se) las suposiciones por lo general llevan a equivocaciones (?)

en tanto comentas detalles concretos (al igual que el OP de la consulta donde te cuelgas)...
ve si te sirve algo de lo comentado en las siguientes conversacines: -> http://tinyurl.com/llzjjz

si cualquier duda (o informacion adicional)... comentas ?
saludos,
hector.

__ OP __


> Supongamos que en la Hoja1 tengo los datos con los cuales construi las TD
> y en la Hoja2 tengo 2 TD's que se basan en los mismos datos, pero muestran algunos valores diferentes
> (como por ejemplo una muestra ingresos en un periodo y la otra egresos).
> El asunto es que quiero filtrar un campo que contiene fechas

> pero hay tantos datos basura en la base que me salen muchas cosas que no corresponden a fechas

tom...@gmail.com

unread,
May 31, 2009, 8:23:23 PM5/31/09
to
On 31 mayo, 19:55, "Héctor Miguel" <NOhemiordiS...@PLShotmail.com>
wrote:


Hector

te envie un mail con lo que necesito, es para mañana presentarlo en el
trabajo, gracias por tu respuesta, ojala lo puedas ver.

Saludos,

Rodrigo,

tom...@gmail.com

unread,
May 31, 2009, 8:25:03 PM5/31/09
to
On 31 mayo, 19:55, "Héctor Miguel" <NOhemiordiS...@PLShotmail.com>
wrote:

sorry el mail no llego...me llego un delivery....mi mail es tommyvc
(arroba)gmail.....te agradeceria mucho la ayuda....

H�ctor Miguel

unread,
May 31, 2009, 10:04:59 PM5/31/09
to
hola, Rodrigo !

> sorry el mail no llego...me llego un delivery....mi mail es tommyvc(arroba)gmail.....te agradeceria mucho la ayuda...

espero que mientras andaba "fuera de rango" hayas tenido tiempo de revisar las conversaciones sugeridas (?)

si prefieres enviar una copia de tu archivo (en ZIP, plis) solo quita de la direccion el "NO...SPAM...PLS"
(y me das algo de tiempo, porque la administracion del tiempo "no entra en mis dominios") :))

saludos,
hector.

silvaju...@gmail.com

unread,
Jun 21, 2014, 12:40:43 AM6/21/14
to
Solo selecciona o posicionate sobre la tabla madre o principal, luego en la ficha analizar selecciona "insertar segmentación de datos" te aparecerá un cuadro y allí selecciona el elemento como lo quieres filtrar.
Luego de ese paso, en el nuevo cuadro que aparece, en la ficha opciones selecciona "conexiones de informe" allí te aparecerán todas las tablas que tienes en el libro, y listo. irás seleccionando que tablas necesitas que se actualicen cada vez que actualices la tabla principal.

Christian Fernández Herrera

unread,
Sep 16, 2020, 12:24:16 PM9/16/20
to
El viernes, 20 de junio de 2014 a las 23:40:43 UTC-5, silvaju...@gmail.com escribió:
> Solo selecciona o posicionate sobre la tabla madre o principal, luego en la ficha analizar selecciona "insertar segmentación de datos" te aparecerá un cuadro y allí selecciona el elemento como lo quieres filtrar.
> Luego de ese paso, en el nuevo cuadro que aparece, en la ficha opciones selecciona "conexiones de informe" allí te aparecerán todas las tablas que tienes en el libro, y listo. irás seleccionando que tablas necesitas que se actualicen cada vez que actualices la tabla principal.

Silvaju... lastimosamente no puedo citarte ni etiquetarte pero con lo que haz contado soluciono mi problema. Muchas gracias!
0 new messages