Pivot Berichtsfilter: Mehrere Elemente auswählen in Excel
Schritt-für-Schritt-Anleitung
Um in einer Excel-Pivottabelle mehrere Filter auf ein Feld anzuwenden, kannst Du VBA (Visual Basic for Applications) nutzen. Hier ist eine Schritt-für-Schritt-Anleitung, um dies zu erreichen:
-
Öffne den VBA-Editor:
- Drücke
ALT + F11, um den VBA-Editor zu öffnen.
-
Füge ein neues Modul hinzu:
- Klicke mit der rechten Maustaste auf „VBAProject (DeineDatei.xlsx)“ und wähle „Einfügen“ > „Modul“.
-
Kopiere den folgenden VBA-Code in das Modul:
Sub BerichtsFeldPivot()
Dim pvTab As PivotTable, pvField As PivotField, pvItem As PivotItem
Dim arrItems As Variant, intItem As Integer
Dim bolVisible As Boolean
Set pvTab = ActiveSheet.PivotTables("PivotTable1")
Set pvField = pvTab.PivotFields("Function")
arrItems = Array("Wert 6", "Wert 10") 'zu filternde Werte des Feldes
With Application
.ScreenUpdating = False
End With
With pvField
.ClearManualFilter
.EnableMultiplePageItems = True
For Each pvItem In .PivotItems
bolVisible = False
For intItem = LBound(arrItems) To UBound(arrItems)
If pvItem.Name = arrItems(intItem) Then
bolVisible = True
Exit For
End If
Next
If bolVisible = False Then
pvItem.Visible = False
End If
Next pvItem
End With
With Application
.ScreenUpdating = True
End With
End Sub
-
Führe das Makro aus:
- Schließe den VBA-Editor und gehe zurück zu Excel. Drücke
ALT + F8, wähle „BerichtsFeldPivot“ und klicke auf „Ausführen“.
Nun werden nur die Werte „Wert 6“ und „Wert 10“ angezeigt, während alle anderen ausgeblendet werden.
Häufige Fehler und Lösungen
-
Fehler: „Objekt nicht gefunden“
Stelle sicher, dass die Pivottabelle tatsächlich „PivotTable1“ heißt. Ansonsten passe den Namen im Code an.
-
Fehler: Alle Elemente müssen sichtbar sein
Du musst immer mindestens ein Pivot-Item sichtbar lassen. Achte darauf, dass Du nicht versuchst, alle Elemente auszublenden.
Alternative Methoden
Eine alternative Methode, um mehrere Werte in einem Pivottabellenfilter auszuwählen, ist die Verwendung von „Filter“ in der PivotTable-Option in Excel selbst. Du kannst auch die „Slicers“-Funktion verwenden, um eine benutzerfreundliche Auswahl von Werten zu ermöglichen.
Praktische Beispiele
Angenommen, Du hast eine Pivottabelle mit verschiedenen Produkten. Wenn Du die Produkte „Produkt A“ und „Produkt B“ filtern möchtest, kannst Du die oben genannten Schritte ausführen und „Produkt A“ sowie „Produkt B“ in das Array einfügen:
arrItems = Array("Produkt A", "Produkt B")
So kannst Du die Sichtbarkeit in Deiner Pivot-Tabelle anpassen, um nur die gewünschten Produkte anzuzeigen.
Tipps für Profis
- Verwende dynamische Arrays: Anstatt die Werte manuell in das Array einzufügen, kannst Du eine dynamische Liste aus einer bestimmten Zelle oder einem Bereich beziehen.
- Teste den Code: Verändere die Werte im Array, um zu überprüfen, wie der Filter funktioniert, bevor Du endgültige Änderungen vornimmst.
- Makros speichern: Vergiss nicht, Deine Excel-Datei im „xlsm“-Format zu speichern, um die Makros zu behalten.
FAQ: Häufige Fragen
1. Wie kann ich mehrere Filter in einer Pivottabelle gleichzeitig anwenden?
Du kannst die EnableMultiplePageItems-Eigenschaft auf True setzen und dann die Sichtbarkeit der einzelnen Pivot-Items steuern.
2. Funktioniert dieser VBA-Code in jeder Excel-Version?
Der bereitgestellte Code wurde unter Excel 2010 erstellt, sollte aber auch in neueren Versionen funktionieren. Stelle sicher, dass Du die richtige Pivottabellenstruktur verwendest.
3. Kann ich den Code anpassen, um andere Werte auszublenden?
Ja, ändere einfach die Werte im arrItems-Array, um die gewünschten Elemente zu filtern.
4. Was sind die Vorteile der Verwendung von VBA für Pivottabellen?
Mit VBA kannst Du automatisierte und komplexe Filtereinstellungen vornehmen, die mit den Standard-Excel-Funktionen nicht möglich wären.