Anzeige
Archiv - Navigation
1180to1184
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Pivot Bericht über VBA (alle Einträge deaktivieren

Pivot Bericht über VBA (alle Einträge deaktivieren
Karsten
Hallo liebe Excel Freunde,
Ich habe ein Macro für eine Pivot Tabelle vom Excel Forum bekommen. Es soll alle Einträge in einer Pivot-Tabelle im Feld "StationNr" deaktivieren. Das funktioniert auch bis zu dem Zeitpunkt wenn er auf das Feld "leer" kommt. Dieses Leer Feld muss ja auch aktiviert bleiben, wenn man das manuell in Excel zusätzlich abwählt bekommt man eine Fehlermeldung! Habt Ihr eine Ahnung wie man das Macro so ändert um alles zu deaktivieren bis auf das Feld "leer" und dann die Schleife beendet wird?
1. Beispiel aus dem Forum:
Sub kein_PivotItem_Anzeigen()
Dim pi As PivotItem
With ActiveSheet.PivotTables("PivotTable1").PivotFields("StationNr")
'alle Einträge bis auf einen deaktivieren
For Each pi In .PivotItems
pi.Visible = False
Next pi
End With
Set pi = Nothing
End Sub

2. Mein Versuch:
'alle Einträge bis auf "Leer"deaktivieren
With ActiveSheet.PivotTables("PivotTable1").PivotFields("StationNr")
For Each pi In .PivotItems
If pi.Caption "leer" Then
pi.Visible = False
End If
Next pi
End With
Danke im Vorraus!
Karsten

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Pivot Bericht über VBA (alle Einträge deaktivieren
17.10.2010 00:57:43
fcs
Hallo Karsten,
hier eine Lösung, die zumindest unter Excel 2007 funktioniert.
Gruß
Franz
'Erstellt unter Excel 2007 (deutsche Version)
Sub Pivot_nur_Leer()
Dim pvTab As PivotTable, pvItem As PivotItem, pvField As PivotField
On Error Resume Next
Set pvTab = ActiveSheet.PivotTables(1)
Set pvField = pvTab.PivotFields("StationNr")
Application.ScreenUpdating = False
With pvField
.PivotItems("(blank)").Visible = True
For Each pvItem In .VisibleItems
If pvItem.Name  "(blank)" Then
pvItem.Visible = False
End If
If .VisibleItems.Count = 1 Then Exit For
Next pvItem
End With
Application.ScreenUpdating = True
End Sub

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige