VBA Pivot Filter Variable Anpassen
Schritt-für-Schritt-Anleitung
Um einen VBA Pivot Filter zu setzen und anzupassen, folge diesen Schritten:
-
Öffne den VBA-Editor:
- Drücke
ALT + F11, um den VBA-Editor in Excel zu öffnen.
-
Erstelle ein neues Modul:
- Klicke mit der rechten Maustaste auf "VBAProject (DeineDatei.xlsx)" und wähle
Einfügen > Modul.
-
Füge den folgenden Code ein:
Sub Pivot_FilterCostCent()
Dim pvTab As PivotTable, pvField As PivotField, pvItem As PivotItem
Dim varItem, Zeile As Long
Dim bolVisible As Boolean
Set pvTab = Worksheets("Tabelle2").PivotTables(1)
Set pvField = pvTab.PageFields("Cost Cent")
pvTab.RefreshTable
pvField.ClearAllFilters
pvField.EnableMultiplePageItems = True
' Seitenfeld-Items abarbeiten
For Each pvItem In pvField.PivotItems
bolVisible = False
With Worksheets("Tabelle1")
' Einträge in Spalte F (6) mit Item-Name vergleichen
For Zeile = 1 To .Cells(.Rows.Count, 6).End(xlUp).Row
varItem = .Cells(Zeile, 6).Value
If pvItem.Name = varItem Then
bolVisible = True
Exit For
End If
Next
End With
If bolVisible = False Then
pvItem.Visible = False
End If
Next
pvTab.Parent.Activate
End Sub
-
Schließe den VBA-Editor und kehre zu Excel zurück.
-
Führe das Makro aus:
- Drücke
ALT + F8, wähle Pivot_FilterCostCent und klicke auf Ausführen.
Häufige Fehler und Lösungen
-
Fehler: "PivotTable nicht gefunden"
Lösung: Überprüfe den Namen der PivotTable in deinem Arbeitsblatt und passe den Code entsprechend an.
-
Fehler: "Objekt nicht gefunden"
Lösung: Stelle sicher, dass die angegebenen Tabellenblätter ("Tabelle1" und "Tabelle2") existieren und korrekt benannt sind.
-
Keine Filter sichtbar
Lösung: Stelle sicher, dass du die Option EnableMultiplePageItems auf True gesetzt hast, um mehrere Filter gleichzeitig zu verwenden.
Alternative Methoden
Eine alternative Methode, um einen Pivot Filter zu setzen, ist die Verwendung von Formeln in Excel, um die Daten vor der Erstellung der Pivot-Tabelle zu filtern. Du kannst auch die Slicer-Funktion nutzen, um die Filterung visuell und interaktiv zu gestalten.
Praktische Beispiele
Hier ist ein einfaches Beispiel, das zeigt, wie du eine Pivot-Tabelle filtern kannst, um nur bestimmte Kostenstellen anzuzeigen:
- Erstelle eine Pivot-Tabelle aus deinen Daten.
- Verwende den oben genannten VBA-Code, um die Sichtbarkeit der PivotItems basierend auf einer Liste in einem anderen Arbeitsblatt zu steuern.
Tipps für Profis
- Verwende Variablen für die Filterwerte anstelle von fest kodierten Werten, um den Code flexibler zu gestalten.
- Nutze Pivot-Wertefilter in Kombination mit deinem VBA-Code, um noch spezifischere Filtereinstellungen zu ermöglichen.
- Experimentiere mit dem Pivot Chart VBA, um deine Daten visuell ansprechend darzustellen.
FAQ: Häufige Fragen
1. Wie kann ich mehrere Werte in einem Pivot Filter gleichzeitig setzen?
Du kannst die EnableMultiplePageItems Eigenschaft auf True setzen und dann alle gewünschten Filterwerte in einer Schleife durchlaufen.
2. Kann ich einen Pivot Filter auch ohne VBA setzen?
Ja, du kannst Filter direkt in der Pivot-Tabelle über die Benutzeroberfläche von Excel setzen, indem du auf den Dropdown-Pfeil des Filters klickst.
3. Welche Excel-Version benötige ich für das VBA-Scripting?
Die meisten modernen Excel-Versionen, wie Excel 2010 und neuer, unterstützen VBA-Scripting.