Instr-Funktion

Gibt die Position des ersten Vorkommens einer Zeichenfolge innerhalb einer anderen Zeichenfolge zurück.

Syntax

InStr([start, ]string1, string2[, compare])

Argumente:

  • Start: Optional. Numerischer Ausdruck, der die Startposition für jede Suche festlegt. Wird diese Option ausgelassen, beginnt die Suche an der Position des ersten Zeichens. Wenn "start" Null enthält, tritt ein Fehler auf. Das Argument "start" ist erforderlich, wenn "compare" angegeben wird.
  • string1: Erforderlich. Zu durchsuchender Zeichenfolgenausdruck.
  • string2: Erforderlich. Zu suchender Zeichenfolgenausdruck.
  • Compare: Optional. Numerischer Wert, der die Art des Vergleichs angibt, der bei der Auswertung von Teilzeichenfolgen verwendet werden soll. Informationen zu Werten finden Sie im Abschnitt "Einstellungen". Wird diese Option ausgelassen, wird ein binärer Vergleich durchgeführt.
  • Einstellungen: Das Argument "compare" kann die folgenden Werte aufweisen.

    Tabelle 11-15 Vergleichskonstanten und Beschreibungen

    Konstante Wert Beschreibung
    vbBinaryCompare 0 Binären Vergleich durchführen
    vbTextCompare 1 Textvergleich durchführen

Rückgabewert

Die InStr-Funktion gibt die folgenden Werte zurück:

Tabelle 11-16 Rückgabewerte der Instr-Funktion

Ausgangssituation Rückgabe
string1 hat Nulllänge 0
string2 hat Nulllänge Start
string2 nicht gefunden 0
string2 innerhalb von string1 gefunden Position, an der eine Übereinstimmung gefunden wird
start > Len(string2) 0

Anmerkungen

In den folgenden Beispielen wird InStr verwendet, um eine Zeichenfolge zu suchen:

Beispiel 1:

Dim SearchString, SearchChar, MyPos
SearchString ="XXpXXpXXPXXP"   ' String to search in.  
SearchChar = "P"   ' Search for "P".
MyPos = Instr(SearchString, SearchChar)   ' Comparison is binary by default (last argument is omitted). 
' Output: 9

Beispiel 2:

Dim SearchString, SearchChar, MyPos
SearchString ="XXpXXpXXPXXP"   ' String to search in.
SearchChar = "P"   ' Search for "P".
MyPos = Instr(1, SearchString, SearchChar)   
' Comparison is binary by default (last argument is omitted)
' Default Comparison starting at the first character
' Output: 9    

Beispiel 3:

Dim SearchString, SearchChar, MyPos
SearchString ="XXpXXpXXPXXP"   ' String to search in.
SearchChar = "P"   ' Search for "P".
MyPos = Instr(4, SearchString, SearchChar, 1)   ' A textual comparison starting at position 4.
'Output: 6
MyPos = Instr(1, SearchString, SearchChar, 0)   ' A binary comparison starting at position 1. 
'Output: 9

Beispiel 4:

Dim SearchString, SearchChar, MyPos
SearchString ="XXpXXpXXPXXP"   ' String to search in.
SearchChar = "P"   ' Search for "P".
MyPos = Instr(1, SearchString, "W")   ' A binary comparison starting at position 1.
'Output: 0 ("W" is not found).