In VBA (Visual Basic for Applications) wird die `Filter`-Funktion verwendet, um ein Array von Zeichenfolgen basierend auf einem Suchkriterium zu durchsuchen und ein neues Array zu erstellen, das nur die Elemente enthält, die dem Kriterium entsprechen. Hier ist ein allgemeiner Überblick darüber, wie du die `Filter`-Funktion verwenden kannst:
Syntax
Filter(SourceArray, Match, [Include], [Compare])
- SourceArray: Das Array von Zeichenfolgen, das du durchsuchen möchtest.
- Match: Der Suchbegriff, nach dem gefiltert werden soll.
- Include (optional): Ein boolescher Wert, der angibt, ob übereinstimmende Einträge ein- oder ausgeschlossen werden sollen. Der Standardwert ist `True`, was bedeutet, dass übereinstimmende Einträge einbezogen werden.
- Compare (optional): Gibt die Art der Zeichenfolgenvergleichs an. Es kann `vbBinaryCompare` (binärer Vergleich) oder `vbTextCompare` (Textvergleich, Groß-/Kleinschreibung wird ignoriert) sein.
Beispiel
Hier ist ein einfaches Beispiel, das zeigt, wie man die `Filter`-Funktion benutzt:
Sub VerwendeFilter()
Dim meinArray As Variant
Dim gefiltertesArray As Variant
Dim i As Integer
' Ein Array mit Beispieldaten
meinArray = Array("Apfel", "Orange", "Banane", "Ananas", "Kiwi", "Apfelkuchen")
' Filtere das Array nach dem Suchbegriff "Apfel"
gefiltertesArray = Filter(meinArray, "Apfel", True, vbTextCompare)
' Überprüfen, ob das gefilterte Array Elemente enthält
If Not IsEmpty(gefiltertesArray) Then
' Ausgabe des gefilterten Arrays
For i = LBound(gefiltertesArray) To UBound(gefiltertesArray)
Debug.Print gefiltertesArray(i)
Next i
Else
Debug.Print "Keine Übereinstimmungen gefunden."
End If
End Sub
Erklärung
- meinArray ist das ursprüngliche Array, das wir durchsuchen.
- gefiltertesArray erhält das Ergebnis von `Filter`, das nur die Elemente enthält, die das Wort “Apfel” (Groß-/Kleinschreibung ignoriert) enthalten.
- Der Schleifenblock gibt die gefilterten Ergebnisse im Direktfenster von VBA aus. Wenn keine Übereinstimmungen gefunden werden, gibt es eine entsprechende Nachricht aus.
Dieses Beispiel zeigt eine grundlegende Nutzung der `Filter`-Funktion in VBA, wobei du den Suchbegriff, die Inklusions-/Exklusionslogik und den Vergleichstyp an deine speziellen Bedürfnisse anpassen kannst.