VBA: Pivot Filter zurücksetzen mit Ausnahme
Schritt-für-Schritt-Anleitung
Um einen bestimmten Pivot-Filter in Excel mit VBA zurückzusetzen, während andere Filter erhalten bleiben, kannst du den folgenden Code verwenden. Dieser Code überprüft die Namen der Slicer und lässt bestimmte Filter unberührt.
-
Öffne dein Excel-Dokument und drücke ALT + F11, um den VBA-Editor zu öffnen.
-
Füge ein neues Modul ein, indem du mit der rechten Maustaste auf "VBAProject" klickst und "Einfügen" > "Modul" auswählst.
-
Kopiere den folgenden Code in das Modul:
Private Sub Workbook_Open()
Sheets("FILTER").Select
Dim slcr As SlicerCache
Dim slc As Slicer
For Each slcr In ActiveWorkbook.SlicerCaches
Select Case slcr.Name
Case "Datenschnitt_Buchungsperiode", "Datenschnitt_XYZ"
' Diese Datenschnitte nicht zurücksetzen
Case Else
For Each slc In slcr.Slicers
If slc.Shape.Parent Is ActiveSheet Then
If slcr.FilterCleared = False Then
slcr.ClearManualFilter
Exit For
End If
End If
Next slc
End Select
Next slcr
End Sub
-
Schließe den VBA-Editor und speichere deine Datei als Makro-fähige Arbeitsmappe (*.xlsm).
-
Schließe und öffne die Arbeitsmappe erneut, um das Makro auszuführen.
Häufige Fehler und Lösungen
Alternative Methoden
Eine alternative Methode, um alle Filter in einer Pivot-Tabelle zurückzusetzen, ist die Verwendung des PivotTable.ClearAllFilters-Befehls. Diese Methode setzt jedoch alle Filter zurück, daher ist Vorsicht geboten. Der Code könnte wie folgt aussehen:
Sub AlleFilterZuruecksetzen()
Dim pvt As PivotTable
Set pvt = Sheets("DeinBlatt").PivotTables("DeinPivotTabelleName")
pvt.ClearAllFilters
End Sub
Diese Methode ist nützlich, wenn du alle Filter zurücksetzen möchtest und keine Ausnahmen benötigst.
Praktische Beispiele
Ein Beispiel, wo dieser Code nützlich sein könnte, ist in einem Verkaufsbericht, wo du einen Datenschnitt für das Verkaufsdatum hast. Du möchtest beim Öffnen der Datei sicherstellen, dass alle anderen Filter zurückgesetzt werden, aber der ausgewählte Zeitraum für die Buchungsperiode bleibt bestehen.
Tipps für Profis
- Wenn du häufig mit Pivot-Tabellen arbeitest, kannst du in Excel einen Button erstellen, um das Makro auszuführen. Dies kannst du über die Entwicklertools im Menüband tun.
- Überlege, ob du die Excel-Datenschnitt Mehrfachauswahl deaktivieren möchtest, um die Benutzerfreundlichkeit zu verbessern. Dies kann helfen, versehentliche Filteränderungen zu vermeiden.
FAQ: Häufige Fragen
1. Wie kann ich den Filter zurücksetzen, ohne VBA zu verwenden?
Du kannst die Filter in Excel manuell zurücksetzen, indem du auf den Pfeil im Filter klickst und die Option „Alle auswählen“ auswählst.
2. Kann ich den Code für andere Slicer anpassen?
Ja, du kannst die Namen der Slicer im Select Case-Block anpassen, um verschiedene Slicer von der Rücksetzung auszunehmen.
3. Funktioniert dieser Code in allen Excel-Versionen?
Der VBA-Code sollte in den meisten aktuellen Excel-Versionen funktionieren, die VBA unterstützen, einschließlich Excel 2010, 2013, 2016 und 2019.