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#
Mostrar la cita
PivotItem.
Mostrar la cita
otra
Mostrar la cita
#2 Héctor Miguel
16/02/2007 - 07:42 | Informe spam
hola, 'anonimo' !

Mostrar la cita
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.
#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%
Mostrar la cita
Ads by Google
Search Busqueda sugerida