Autofilter im Excel VBA: Mehrere Werte ausblenden
Schritt-für-Schritt-Anleitung
Um im Excel VBA Autofilter mehrere Werte auszublenden, kannst du den folgenden Code verwenden. Stelle sicher, dass du die Werte, die du ausblenden möchtest, in einer Public Const definiert hast:
Sub AusblendenMehrererWerte()
Dim strFilter As String
Dim x As Range
With Range("A17").CurrentRegion
For Each x In .Columns(4).Cells
Select Case x
Case LIEF_SAP1, LIEF_SAP2, LIEF_SAP3 ' Werte, die angezeigt werden sollen
Case Else
strFilter = strFilter & "|" & x ' Alle anderen Werte zum Filter hinzufügen
End Select
Next x
strFilter = Mid$(strFilter, 2) ' Entferne das führende "|"
.AutoFilter Field:=4, Criteria1:=Split(strFilter, "|"), Operator:=xlFilterValues ' Filter anwenden
End With
End Sub
Dieser Code erstellt ein Array mit den Werten, die angezeigt werden sollen, und filtert alle anderen aus. Achte darauf, dass der Autofilter in der Excel-Version aktiviert ist, in der du arbeitest.
Häufige Fehler und Lösungen
-
Fehler: Alle Werte werden angezeigt
- Lösung: Stelle sicher, dass du das Array korrekt anlegst. Du musst alle Werte, die angezeigt werden sollen, im Array auflisten. Das Beispiel oben zeigt, wie dies funktioniert.
-
Fehler: Filter funktioniert nicht richtig
- Lösung: Überprüfe die Definition der Public Const und stelle sicher, dass die Werte korrekt in der Datenquelle vorhanden sind.
-
Fehler: Excel zeigt einen Fehler an (z.B. #WERT!)
- Lösung: Verwende die Funktion
excel istfehler negieren, um Fehler bei der Filterung zu vermeiden.
Alternative Methoden
Eine alternative Methode, um die Werte im Autofilter zu negieren, besteht darin, einfach alle Werte, die angezeigt werden sollen, in einer Liste zu halten und die Filteroperation darauf anzuwenden. Du könntest auch den Criteria1-Parameter mit einer Kombination von Kriterien verwenden, um nur die gewünschten Werte zu filtern.
Praktische Beispiele
Hier ein einfaches Beispiel zur Verwendung des Autofilters mit mehreren Werten:
Sub BeispielFilter()
ActiveSheet.Range("A17").AutoFilter Field:=4, Criteria1:=Array("Wert1", "Wert2", "Wert3"), Operator:=xlFilterValues
End Sub
Wenn du das Filterkriterium umkehren möchtest, kannst du die oben beschriebenen Methoden zur Erstellung eines negierten Filters verwenden.
Tipps für Profis
- Verwende
xlFilterValues, um sicherzustellen, dass die Filteroperation korrekt ausgeführt wird.
- Denke daran, die Filterkriterien variabel zu halten, falls du sie in verschiedenen Situationen benötigst. Das macht deinen Code flexibler.
- Wenn du regelmäßig mit Filtern arbeitest, könnte es hilfreich sein, häufig genutzte Filterkriterien in Funktionen zu packen.
FAQ: Häufige Fragen
1. Wie kann ich mehrere Werte im Autofilter gleichzeitig anzeigen?
Du kannst mehrere Werte im Autofilter anzeigen, indem du sie als Array im Criteria1-Parameter angibst, wie im obigen Beispiel gezeigt.
2. Was mache ich, wenn der Autofilter nicht funktioniert?
Überprüfe, ob die Datenquelle korrekt ausgewählt ist und ob die Filtereinstellungen richtig definiert wurden. Achte auch darauf, dass keine leeren Zellen in der Filterspalte vorhanden sind.
3. Wie negiere ich Werte im Autofilter?
Um Werte zu negieren, erstelle ein Array mit den Werten, die angezeigt werden sollen, und filtere die anderen aus. Verwende die oben gezeigte Methode, um dies zu erreichen.