Die Funktion `InStr` in VBA (Visual Basic for Applications) wird verwendet, um die Position eines Teilstrings innerhalb eines anderen Strings zu ermitteln. Sie liefert die erste Position, an der der Teilstring gefunden wird. Wenn der Teilstring nicht gefunden wird, gibt `InStr` den Wert 0 zurück. Hier sind die grundlegenden Informationen zur Verwendung der Funktion `InStr`:
Syntax
InStr([start], string1, string2, [compare])
Parameter
- start (optional): Gibt die Startposition für die Suche an. Wenn dieser Parameter weggelassen wird, beginnt die Suche bei der ersten Position. Die Positionierung beginnt bei 1 (nicht bei 0).
- string1: Der String, in dem gesucht werden soll.
- string2: Der Teilstring, nach dem gesucht wird.
- compare (optional): Gibt den Typ des Vergleichs an. Mögliche Werte sind:
- `vbBinaryCompare` (0): Führt eine binäre (case-sensitive) Vergleich durch.
- `vbTextCompare` (1): Führt einen textbasierten (case-insensitive) Vergleich durch.
- `vbDatabaseCompare` (2): Wird verwendet, wenn auf Daten aus Microsoft Access-Datenbanken zugegriffen wird.
Beispiel
Hier ist ein einfaches Beispiel zur Veranschaulichung der Verwendung von `InStr`:
Sub BeispielInstr()
Dim text As String
Dim suchbegriff As String
Dim position As Integer
text = "Dies ist ein Beispieltext"
suchbegriff = "Beispiel"
' Suche ohne Angabe der Startposition, beginnend bei 1
position = InStr(1, text, suchbegriff, vbTextCompare)
If position > 0 Then
MsgBox "Der Suchbegriff wurde an Position " & position & " gefunden."
Else
MsgBox "Der Suchbegriff wurde nicht gefunden."
End If
End Sub
In diesem Beispiel wird nach “Beispiel” im Text “Dies ist ein Beispieltext” gesucht. Es verwendet `vbTextCompare` für einen case-insensitive Vergleich. Wenn der Suchbegriff gefunden wird, wird seine Position angezeigt, andernfalls wird eine Nachricht angezeigt, dass der Suchbegriff nicht gefunden wurde.
Durch Anpassen der Parameter können Sie die Funktion `InStr` an Ihre spezifischen Anforderungen anpassen.