Pivottabelle: Berichtsfilter automatisch anpassen
Schritt-für-Schritt-Anleitung
Um einen Berichtsfilter in einer Pivottabelle automatisch auf eine andere Zelle zu setzen, musst du ein Ereignismakro verwenden. Folge diesen Schritten:
-
Öffne den VBA-Editor: Drücke ALT + F11, um den VBA-Editor zu öffnen.
-
Füge ein Modul hinzu: Klicke mit der rechten Maustaste auf "VBAProject (dein Arbeitsblattname)" und wähle Einfügen > Modul.
-
Füge den folgenden Code ein:
Public Sub PivotBerichtsfeldSetzen(varWert, pvField As PivotField)
Dim pvTab As PivotTable
On Error GoTo Fehler
Set pvTab = pvField.Parent
With pvTab
pvField.ClearAllFilters
.RefreshTable
'Pivot-Berichtsfeld anpassen
pvField.CurrentPage = varWert
End With
Fehler:
With Err
Select Case .Number
Case 0 'alles ok
Case 5, 1004
MsgBox "Fehler-Nr.: " & .Number & vbLf & .Description & vbLf & vbLf _
& "Wert für Berichtsfilter: " & varWert & vbLf _
& "unzulässige Eingabe Wert im Berichtsfilter", vbOKOnly, _
"Berichtsfeld - Blatt " & pvTab.Parent.Name & " - " & pvTab.Name
Case Else
MsgBox "Fehler-Nr.: " & .Number & vbLf & .Description, vbOKOnly, _
"Berichtsfeld - Blatt " & pvTab.Parent.Name & " - " & pvTab.Name
End Select
End With
End Sub
-
Ereignismakro einfügen: Klicke doppelt auf das Tabellenblatt "Pivot" im VBA-Editor und füge den folgenden Code ein:
Private Sub Worksheet_Activate()
Call PivotBerichtsfeldSetzen(varWert:=Worksheets("Daten").Range("A1").Value, _
pvField:=Me.PivotTables(1).PageFields("Feld01"))
End Sub
-
Schließe den VBA-Editor: Speichere deine Änderungen und schließe den Editor.
-
Aktiviere das Tabellenblatt: Wechsle zu deinem Tabellenblatt "Pivot", um das Ereignismakro auszulösen.
Häufige Fehler und Lösungen
- Fehler: Ungültiger Wert im Berichtsfilter: Stelle sicher, dass der Wert in Zelle "A1" tatsächlich im Berichtsfeld vorhanden ist. Andernfalls wird der Filter nicht angewendet.
- Makro funktioniert nicht: Überprüfe, ob Makros in deiner Excel-Anwendung aktiviert sind. Gehe zu
Datei > Optionen > Trust Center > Einstellungen für das Trust Center > Makroeinstellungen und aktiviere die Option.
Alternative Methoden
Falls du keine Makros verwenden möchtest, könntest du den Berichtsfilter manuell setzen. Dies ist jedoch nicht so flexibel wie die Automatisierung mit einem Ereignismakro.
- Klicke auf das Dropdown-Menü des Berichtsfilters in deiner Pivottabelle.
- Wähle den gewünschten Wert aus der Liste.
Praktische Beispiele
Angenommen, du hast eine Pivottabelle, die Verkaufsdaten anzeigt. Wenn du in Zelle "A1" den Namen eines Mitarbeiters eingibst, wird der Berichtsfilter automatisch auf diesen Mitarbeiter gesetzt, wenn du das Tabellenblatt "Pivot" aktivierst.
Zelle A1: Max Mustermann
Berichtsfilter: Mitarbeiter = Max Mustermann
Die Pivottabelle zeigt dann nur die Verkaufsdaten von Max Mustermann an.
Tipps für Profis
- Verwende dynamische Bereiche: Stelle sicher, dass deine Datenquelle für die Pivottabelle dynamisch ist, damit neue Daten automatisch berücksichtigt werden.
- Nutze benannte Bereiche: Erstelle benannte Bereiche für deine Daten, um die Lesbarkeit und Wartbarkeit deines Codes zu erhöhen.
FAQ: Häufige Fragen
1. Kann ich mehrere Berichtsfilter gleichzeitig setzen?
Ja, du kannst das Makro anpassen, um mehrere Berichtsfilter gleichzeitig zu setzen, indem du zusätzliche Parameter hinzufügst.
2. Funktioniert das auch in älteren Excel-Versionen?
Ja, das beschriebene Verfahren funktioniert in Excel 2010 und neueren Versionen. Bei älteren Versionen kann es Unterschiede im VBA-Editor geben.