PDA

Vollständige Version anzeigen : Pivotitems auslesen


Patri
07.05.2009, 11:15
Hallo!

Bin grad wieder am Verzweifeln...Kann ich aus einem Pivotfield die Anzahl der Pivotitems ermitteln?
Mein Pivotfield "Projekt" hat z.B.: 3 Items: Alle, A, B. das variiert natürlich.
Jetzt möchte ich herausfinden wie viele enthalten sind. Wenn Alle und A enthalten sind, dann soll A aktiv sein. Wenn Alle, A und B sind, dann soll Alle aktiv sein. Ich hab absolut keine Ahnung!

Private Sub Worksheet_Activate()
Dim i As Integer

Set ptf = ActiveSheet.PivotTables("PivotTable1").PivotFields("Projekt")
For i = 1 To ptf.PivotItems.Count
If ptf.PivotItems(i) > 2 Then
ptf.PivotItems(i).Visible = ptf.PivotItems(i) = "(Alle)"
Else
ptf.PivotItems(i).Visible = ptf.PivotItems(i) = "(Alle)" = False
End If
Next i
End Sub

Gruß patri

NoNet
07.05.2009, 11:48
Hallo Patri,

mit folgender Codezeile kanst Du zählen, wieviele Einträge (ohne "(Alle)") das Pivot-Feld "Projekte enthält :

MsgBox ActiveSheet.PivotTables("PivotTable1").Rowfields("Projekt").PivotItems.Count

Du kannst folgendermassen "(Alle)" aktivieren :
Sub AllePivotItemsAnzeigen()
Dim intT As Integer

With ActiveSheet.PivotTables("PivotTable1").RowFields("Projekte")
.ShowAllItems = True 'Funktioniert leider nicht ?!!? - Warum ?
For intT = 1 To .PivotItems.Count
.PivotItems(intT).Visible = True
Next
End With
End Sub

PS: eigentlich sollte das mit .ShowAllItems klappen, aber zumindest bei mir (Excel 2003) funktioniert das nicht :upps: ...