Problema con tabla dinamica y VBA

15/02/2007 - 13:09 por Anancaster | Informe spam
Hola a todos,
Tengo un problema que me está volviendo loco.
Mediante una macro necesito seleccionar ciertos valores de un campo de una
tabla dinámica y lo hago así:

With ActiveSheet.PivotTables("DinPL").PivotFields("RAIZ")
.PivotItems("621").Visible = True
End With

éste código lo ha generado automáticamente el editor de VBA, grabando la
macro.
Pero cuando la ejecuto me da un error:
Error 1004. No se puede asignar la propiedad Visible de la clase PivotItem.
Sé que el error no es porque esté visible (marcado) y trate de marcarlo otra
vez, ya que lo ejecuto después de desmarcarlo manualmente.
¿Puede ser que me falte registrar alguna librería?
Ayudadme por favor, me estoy volviendo loco.
Gracias por adelantado

Preguntas similare

Leer las respuestas

#1 L. Garcia
15/02/2007 - 13:47 | Informe spam
Hola:

En la version 2000, la propiedad .Visible no funciona dependiendo de dónde
esté situado el campo. Si no recuerdo mal, donde seguro que sí que te
funciona es si el campo esta en Fila y/o Columna, si esta en Pagina u Oculto
creo que no funciona.

Espero que te sirva.

Saludos

"Anancaster" escribió en el mensaje
news:uRjv#
Hola a todos,
Tengo un problema que me está volviendo loco.
Mediante una macro necesito seleccionar ciertos valores de un campo de una
tabla dinámica y lo hago así:

With ActiveSheet.PivotTables("DinPL").PivotFields("RAIZ")
.PivotItems("621").Visible = True
End With

éste código lo ha generado automáticamente el editor de VBA, grabando la
macro.
Pero cuando la ejecuto me da un error:
Error 1004. No se puede asignar la propiedad Visible de la clase


PivotItem.
Sé que el error no es porque esté visible (marcado) y trate de marcarlo


otra
vez, ya que lo ejecuto después de desmarcarlo manualmente.
¿Puede ser que me falte registrar alguna librería?
Ayudadme por favor, me estoy volviendo loco.
Gracias por adelantado



Respuesta Responder a este mensaje
#2 Héctor Miguel
16/02/2007 - 07:42 | Informe spam
hola, 'anonimo' !

Tengo un problema que me esta volviendo loco.
Mediante una macro necesito seleccionar ciertos valores de un campo de una tabla dinamica y lo hago asi:
With ActiveSheet.PivotTables("DinPL").PivotFields("RAIZ")
.PivotItems("621").Visible = True
End With
este codigo lo ha generado automaticamente el editor de VBA, grabando la macro.
Pero cuando la ejecuto me da un error:
Error 1004. No se puede asignar la propiedad Visible de la clase PivotItem.
Se que el error no es porque este visible (marcado) y trate de marcarlo otra vez
ya que lo ejecuto despues de desmarcarlo manualmente.
Puede ser que me falte registrar alguna libreria?



op1: [teoricamente] no le deberia de afectar a un objeto si estando visible 'lo vuelves' a poner visible :)) o sea que:
si estas ejecutando codigo 'similar' al expuesto, asi, de manera 'directa' sobre el pivotitem correspondiente...
no deberia presentarse el error 1004 -?- a menos que...

op2: estas usando codigo 'similar' al expuesto, pero... dentro de un bucle/ciclo/loop/... del estilo For...Next -?-
-> revisa en la configuracion avanzada del campo si tienes establecida alguna opcion de 'Autoordenar' -?-
-> deberias asegurarte de que este en 'Manual' [antes de ejecutar un .Visible' dentro de un bucle] -?-

comentas [si hubiera] algun otro detalle mas... 'significativo' ?
saludos,
hector.
Respuesta Responder a este mensaje
#3 Anancaster
16/02/2007 - 10:41 | Informe spam
Gracias por contestar.
Al final pude solucionarlo con lo siguiente:

Dim intASO As Integer

With ActiveSheet.PivotTables("DinPL").PivotFields("RAIZ")
intASO = .AutoSortOrder
.AutoSort xlManual, .SourceName

.PivotItems("621").Visible = True
.AutoSort intASO, .SourceName

End With

En realidad, ni siquiera se lo que hace, pero funciona...


"Anancaster" escribió en el mensaje
news:uRjv%
Hola a todos,
Tengo un problema que me está volviendo loco.
Mediante una macro necesito seleccionar ciertos valores de un campo de una
tabla dinámica y lo hago así:

With ActiveSheet.PivotTables("DinPL").PivotFields("RAIZ")
.PivotItems("621").Visible = True
End With

éste código lo ha generado automáticamente el editor de VBA, grabando la
macro.
Pero cuando la ejecuto me da un error:
Error 1004. No se puede asignar la propiedad Visible de la clase
PivotItem.
Sé que el error no es porque esté visible (marcado) y trate de marcarlo
otra
vez, ya que lo ejecuto después de desmarcarlo manualmente.
¿Puede ser que me falte registrar alguna librería?
Ayudadme por favor, me estoy volviendo loco.
Gracias por adelantado



email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida