PivotTabellen und VBA...
Jonathan
Ich möchte gerne ein paar Funktionen meiner PivotTabelle per VBA vereinfachen. Dazu habe ich folgenden Code geschrieben, welcher
1. prüft, ob der Wert der ausgewählten Zelle auch in der Liste der möglichen Kategorien vorkommt; ist dies der Fall:
2. ausblenden aller Kategorien, außer der ausgewählten und
3. zeigen der Details der ausgewählten Kategorie
Die Prozedur läuft allerdings super langsam ab - ich weiß nicht warum.
Kennt Ihr eine Möglichkeit, bei der Aufhebung des Filters direkt auch alle Details auszublenden?
Hier nun der Code:
Dim VertSort As Boolean
Sub VertclearFilters()
ActiveSheet.PivotTables("PivVerteilung").PivotFields("Oberkategorie").ClearAllFilters
End Sub
Sub VertFilter()
With ActiveWorkbook.Worksheets("Ursprungsdaten")
lngLast = Sheets("Ursprungsdaten").Cells(Rows.Count, 4).End(xlUp).Row
End With
VertSort = False
Wert = Sheets("Verteilung").Cells(ActiveCell.Row, ActiveCell.Column).Value
If ActiveCell.Column = 1 Then
For i = 2 To lngLast
If Sheets("Verteilung").Cells(ActiveCell.Row, ActiveCell.Column).Value = Sheets(" _
Ursprungsdaten").Cells(i, 4).Value Then
VertSort = True
End If
Next
End If
If VertSort = True Then
ActiveSheet.PivotTables("PivVerteilung").PivotFields("Oberkategorie").ClearAllFilters
With Sheets("Verteilung").PivotTables("PivVerteilung").PivotFields("Oberkategorie")
For i = 2 To lngLast
If Sheets("Ursprungsdaten").Cells(i, 4).Value Wert Then
.PivotItems(Sheets("Ursprungsdaten").Cells(i, 4).Value).Visible = False
End If
Next
.PivotItems(Wert).ShowDetail = True
End With
End If
End Sub