[XL2010]Pivottabelle Filter entfernen vor Schliessen

08/11/2012 - 18:49 von Volker Neurath | Report spam
Hallo zusammen,

in einer Datei mit drei Pivittabellen (jede auf einem eigenen Sheet)
möchte ich, dass automatisch vor dem endgültigen Schliessen der Datei
alle eventuell gesetzten Filter entfernt werden.

Ich habe es heute mit folgendem code versucht:

Sub PivotFilterReset()
Dim ws As Worksheet
Dim pt As PivotTable
Dim pf As PivotField
Dim pi As PivotItem

Application.ScreenUpdating = False
On Error Resume Next

For Each ws In Worksheets
Select Case ws.Name
Case "Umsatz", "Mengen"
Set pt = Worksheets(ws.Name).PivotTables(1)
For Each pf In pt.PivotFields
For Each pi In pf.PivotItems
pi.Visible = True
Next pi
Next pf
Set pt = Nothing
Case "Summary"
Set pt = Worksheets(ws.Name).PivotTables(1)
For Each pf In pt.PivotFields
If pf.Orientation <> xlPageField Then
For Each pi In pf.PivotItems
pi.Visible = True
Next pi
End If
Next pf
Set pt = Nothing
End Select
Next ws
End Sub

Problem:
es funktioniert nicht, Excel zeigt mir nach Start der Routine die
Sanduhr - und kehrt nicht wieder, wer davor sitz hat unweigerlich das
Gefühl, das Excel sich "aufgehàngt" hat.

Wo ist mein (Denk)fehler?

Volker

PS: "Summary", "Mengen", "Umsatz" sind die Namen der Worksheets, die
jeweils genau eine Pivottabelle enthalten
 

Lesen sie die antworten

#1 Claus Busch
08/11/2012 - 19:24 | Warnen spam
Hallo Volker,

Am Thu, 8 Nov 2012 18:49:03 +0100 schrieb Volker Neurath:

in einer Datei mit drei Pivittabellen (jede auf einem eigenen Sheet)
möchte ich, dass automatisch vor dem endgültigen Schliessen der Datei
alle eventuell gesetzten Filter entfernt werden.



es sind die PivotItems, die du in jedem PivotField wieder sichtbar
machen willst. Teste mal folgenden Ansatz und àndere ihn für dich um:

Sub Test()
Dim PT As PivotTable
Dim PF As PivotField
Dim PI As PivotItem
Dim wsh As Worksheet

For Each wsh In ThisWorkbook.Worksheets
For Each PT In wsh.PivotTables
For Each PF In PT.PivotFields
For Each PI In PF.PivotItems
PI.Visible = True
Next
Next
Next
Next
End Sub


Mit freundlichen Grüßen
Claus Busch
Win XP Prof SP3 / Vista Ultimate SP2
Office 2003 SP3 /2007 Ultimate SP3

Ähnliche fragen