Ocultar todos los PivotItem de una TD

29/12/2005 - 03:34 por Oscar | Informe spam
Buenas noches, muchachos!!! ; ))

Tengo una duda, observe esta macro en la pagna de:
http://www.contextures.com/xlPivot03.html

Sin embargo a mi me interesaria cambiarle algo al codigo, para que oculte
todos los campos de una tabla dinamica y a partir de ahi, ya mostrar uno por
uno y ejecutar las acciones que quiero. El problema ahora es que no se que
cambiarle para que pueda hacer esto

Sub HidePivotItemsVisible()
'hide all pivot items in all tables on sheet
'except last item
Dim pt As PivotTable
Dim pf As PivotField
Dim pi As PivotItem

Application.ScreenUpdating = False
Application.DisplayAlerts = False
On Error Resume Next
For Each pt In ActiveSheet.PivotTables
For Each pf In pt.RowFields
pf.AutoSort xlManual, pf.SourceName
For Each pi In pf.PivotItems
pi.Visible = False
Next
Next
pf.AutoSort xlAscending, pf.SourceName
Next
Application.DisplayAlerts = True
Application.ScreenUpdating = True

End Sub
Oscar
Saludos desde México
 

Leer las respuestas

#1 Oscar
29/12/2005 - 19:43 | Informe spam
Gracias Héctor

Entiendo :(

Solo una duda, cuando corro la macro, lo hago en un campo de la TD, que es
el PivotField de "Fecha" y me oculta todas menos la ultima del mes, como bien
tu comentas (en este caso, 30/11/2005), pero como le haria para que me dejara
solo el primer campo 01/11/2005)

Gracias por tu tiempo, nuevamente
Oscar
Saludos desde México


"Héctor Miguel" escribió:

hola, Oscar !

> ... observe esta macro en la pagna de: http://www.contextures.com/xlPivot03.html
> ... me interesaria cambiarle algo al codigo, para que oculte todos los campos de una tabla dinamica
> y a partir de ahi, ya mostrar uno por uno y ejecutar las acciones que quiero.
> El problema ahora es que no se que cambiarle para que pueda hacer esto [...]

el 'verdadero' problema... es que NO se pueden 'ocultar' TODOS los campos de una TD :-(
si observas el comentario inicial de la macro, +/- 'dice':
-> oculta todos los pivot items en todas las tablas de la hoja EXCEPTO el ultimo ;)
-> la linea que dice: 'On Error Resume Next'
ES para prevenir/evitar el mensaje de error cuando se 'pretende' ocultar TODOS los campos de la TD ;)

si cualquier duda [o informacion adicional]... comentas ?
saludos,
hector.



Preguntas similares