Pivotfilter per Zelle steuern in Excel
Schritt-für-Schritt-Anleitung
Um einen Pivotfilter in Excel per Zelle zu steuern, kannst du den folgenden VBA-Code verwenden. Dieser Code ermöglicht es dir, den Datumsfilter "liegt zwischen" mit Werten aus bestimmten Zellen zu verknüpfen.
-
Öffne das Excel-Dokument, das die Pivot-Tabelle enthält.
-
Drücke ALT + F11, um den Visual Basic for Applications (VBA) Editor zu öffnen.
-
Füge das folgende Skript in ein neues Modul ein:
Private Sub Worksheet_Change(ByVal Target As Range)
Call PivAendern
End Sub
Sub PivAendern()
Dim pvTab As PivotTable
Dim pvField As PivotField
Set pvTab = Sheets("Top Peak").PivotTables(1)
Set pvField = pvTab.PivotFields("Buchungsdatum")
pvTab.RefreshTable
With pvField
.ClearAllFilters
.PivotFilters.Add Type:=xlDateBetween, _
Value1:=CDbl(Sheets("Mopti").Range("Y1").Value), _
Value2:=CDbl(Sheets("Mopti").Range("AB1").Value)
End With
End Sub
-
Schließe den VBA-Editor und gehe zurück zu Excel.
-
Ändere die Werte in den Zellen Y1 und AB1 auf dem Blatt "Mopti", um den Pivotfilter zu aktualisieren.
Häufige Fehler und Lösungen
-
Fehler 400: Dieser Fehler tritt häufig auf, wenn die Werte in den Zellen Y1 oder AB1 nicht korrekt formatiert sind. Stelle sicher, dass die Zellen Datumswerte enthalten.
-
Objekt Erforderlich: Dieser Fehler kann auftreten, wenn das PivotTable-Objekt nicht richtig zugewiesen wurde. Überprüfe den Namen der Pivot-Tabelle und die Namen der Blätter in deinem Excel-Dokument.
-
Benanntes Argument nicht gefunden: Achte darauf, dass die Filterparameter korrekt geschrieben sind und dass die PivotField-Objekte existieren.
Alternative Methoden
Falls du eine "unsichtbare" Lösung suchst, kannst du die Filterwerte auch in einer Hilfsspalte setzen, anstatt sie direkt in die Pivot-Filter einzufügen. Füge eine Hilfsspalte in deiner Ursprungstabelle hinzu und verwende diese, um die Filter zu steuern. Dies kann mit VBA erreicht werden, indem du den Wert in der Hilfsspalte setzt und dann die Pivot-Tabelle aktualisierst.
Praktische Beispiele
-
Um einen Pivotfilter mit Zellen zu verknüpfen, kannst du den oben genannten Code anpassen, um verschiedene Datenquellen zu nutzen. Zum Beispiel:
Value1:=Sheets("Mopti").[C1].Value
Value2:=Sheets("Mopti").[D1].Value
Hierbei werden die Werte aus den Zellen C1 und D1 verwendet.
-
Ein weiteres Beispiel wäre die Verwendung von Datumswerten, die automatisch auf das aktuelle Datum eingestellt werden:
Value1:=Date - 30 'Vor 30 Tagen
Value2:=Date 'Heute
Tipps für Profis
-
Verwende Named Ranges: Anstatt feste Zellreferenzen zu verwenden, kannst du benannte Bereiche verwenden, um deine VBA-Formeln klarer und flexibler zu gestalten.
-
Regelmäßiges Refreshen: Stelle sicher, dass du die Pivot-Tabelle regelmäßig aktualisierst, insbesondere nach Änderungen in den Daten.
-
Fehlerprotokollierung: Implementiere eine Fehlerbehandlungsroutine in deinen VBA-Skripten, um besser nachzuvollziehen, wo Probleme auftreten können.
FAQ: Häufige Fragen
1. Wie kann ich einen Pivotfilter aus einer Zelle steuern?
Du kannst VBA verwenden, um den Pivotfilter mit den Werten aus bestimmten Zellen zu verknüpfen, wie im obigen Code beschrieben.
2. Welche Excel-Version wird benötigt?
Die beschriebenen Methoden und VBA-Codes sind in den neueren Versionen von Excel (ab Excel 2010) anwendbar. Stelle sicher, dass du die richtige Version hast, um die VBA-Skripte auszuführen.
3. Kann ich mehrere Filter gleichzeitig anwenden?
Ja, du kannst mehrere PivotFilters in derselben Sub-Prozedur hinzufügen. Stelle sicher, dass du die Filter korrekt definierst.