AW: Zählen von Pivotitemeinträge für einen Pivotitem
11.07.2011 13:40:22
Pivotitemeinträge
hi manu
hier eine funktion, die ich programmiert habe, um das problem von mir zu lösen
gruß
Mike
Function Count_FirstFild_lastItem_subsitems(myPivotsheet As String, myPivot As String) As _
Integer
' am 07.07.2011 von Mike René K
' Bei einer Pivottabele mit 2 Zeilenfelder und einem Ergebnisfeld, wird
' die Anzahl der Ergeniszeilen für das 1. Zeilenfeld ermittelt
Dim lineField As String
Dim startrow As Double
Dim lastrow As Double
Dim lastItem As String
Dim myItems As Double
With Worksheets(myPivotsheet)
startrow = .PivotTables(myPivot).TableRange1.Row '1. Zeile der Pivottabelle ohne die _
Kopfzeile
lastrow = startrow + .PivotTables(myPivot).TableRange1.Rows.Count - 1 'letzte Zeile der _
Pivottabelle ohne die Kopfzeile
lineField = Application.Sheets(myPivotsheet).Cells(startrow + 1, 1).PivotCell. _
PivotField ' Name des 1. Zeilenfeldes
myItems = .PivotTables(myPivot).PivotFields(lineField).PivotItems.Count ' letzter _
Eintragsnr. des 1. Zeilenfeldes
pivotRowValue = .PivotTables(myPivot).PivotFields(lineField).PivotItems(myItems) ' _
letzter Wert des 1. Zeilenfeldes
Count_FirstFild_lastItem_subsitems = 0
For i = startrow + 1 To lastrow
' nur Zeilen prüfen, die weder eine Summenzeile noch eine Leerzeile sind
If .Cells(i, 1).PivotCell.PivotCellType = xlPivotCellPivotItem Then
'Stimmt der Wert im erstn Zeilen Feld mit dem Gesuchten überein?
If .Cells(i, 3).PivotCell.RowItems.Item(1) pivotRowValue Then
Count_FirstFild_lastItem_subsitems = Count_FirstFild_lastItem_subsitems + 1
End If
End If
Next
End With
End Function