Wie verwende ich die Funktion Filter in VBA?

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.

Unlock Your Potential

Excel

Basic - Advanced

Access

Access Basic - Advanced

Power BI

Power BI Basic - Advanced

Help us grow the project