VBA Autofilter Criteria2 Array nutzen
Schritt-für-Schritt-Anleitung
Um den VBA Autofilter mit dem Criteria2 Array zu verwenden, folge diesen Schritten:
-
Öffne Excel und die entsprechende Arbeitsmappe.
-
Aktiviere den VBA-Editor mit ALT + F11.
-
Füge ein neues Modul hinzu:
- Rechtsklick auf "VBAProject (DeineDatei.xlsx)" > Einfügen > Modul.
-
Kopiere und füge den folgenden Code ein:
Sub FilterMitCriteria2()
Dim filterArray As Variant
filterArray = Array(1, "5/5/2020", 1, "1/31/2019", 1, "4/30/2019", 1, "9/30/2018")
ActiveSheet.Range("$C$12:$AE$3000").AutoFilter Field:=6, Operator:= _
xlFilterValues, Criteria2:=filterArray
End Sub
-
Schließe den VBA-Editor und kehre zu Excel zurück.
-
Führe das Makro aus: ALT + F8, wähle FilterMitCriteria2 und klicke auf "Ausführen".
Häufige Fehler und Lösungen
Alternative Methoden
Eine alternative Methode, um den Autofilter zu nutzen, ist die Verwendung von xlFilterValues in Kombination mit einem anderen Datentyp, wie z.B. Zahlen oder Text. Hier ist ein Beispiel, wie du mehrere Kriterien in einem Filter kombinieren kannst:
Sub FilterMitAlternativen()
Dim filterArray As Variant
filterArray = Array("Kriterium1", "Kriterium2")
ActiveSheet.Range("$C$12:$AE$3000").AutoFilter Field:=6, Criteria1:=filterArray, Operator:=xlFilterValues
End Sub
Praktische Beispiele
Hier sind einige praktische Anwendungen des VBA Autofilter mit Criteria2:
-
Filtern nach spezifischen Monaten:
Sub FilterNachMonat()
Dim monthArray As Variant
monthArray = Array(1, "1/1/2022", 1, "2/1/2022")
ActiveSheet.Range("$C$12:$AE$3000").AutoFilter Field:=6, Operator:=xlFilterValues, Criteria2:=monthArray
End Sub
-
Filtern nach einem Jahr:
Sub FilterNachJahr()
Dim yearArray As Variant
yearArray = Array(0, "2022")
ActiveSheet.Range("$C$12:$AE$3000").AutoFilter Field:=6, Operator:=xlFilterValues, Criteria2:=yearArray
End Sub
Tipps für Profis
-
Verwende dynamische Arrays: Du kannst die Kriterien dynamisch generieren, basierend auf Benutzerinteraktionen oder anderen Zellen in deinem Arbeitsblatt.
-
Vermeide hartkodierte Werte: Statt fest definierter Werte im Criteria2 Array, ziehe in Betracht, diese aus benutzereingaben oder Zellinhalten zu beziehen.
-
Testen der Filter: Führe vor dem endgültigen Einsatz Deines Codes Tests durch, um sicherzustellen, dass alle Criteria2 Elemente korrekt gefiltert werden.
FAQ: Häufige Fragen
1. Was bedeutet die Zahl vor dem Datum in den Kriterien?
Die Zahl gibt an, wie die Filterung erfolgt:
- 0: Filtere nach dem Jahr
- 1: Filtere nach dem Monat
- 2: Filtere nach dem genauen Datum
2. Wie kann ich mehrere Kriterien für den Autofilter festlegen?
Du kannst ein Array verwenden, um mehrere Kriterien in einem vba autofilter array zu definieren, wie im Beispielcode gezeigt. Achte darauf, die richtigen Indizes zu verwenden.
3. Funktioniert dies in allen Excel-Versionen?
Die Nutzung des VBA Autofilters ist in den meisten modernen Excel-Versionen verfügbar. Stelle sicher, dass du mindestens Excel 2007 oder neuer verwendest.