Instr Function
Returns the position of the first occurrence of one string within another.
Syntax
InStr([start, ]string1, string2[, compare])
Arguments:
- Start: Optional. Numeric expression that sets the starting position for each search. If omitted, search begins at the first character position. If start contains Null, an error occurs. The start argument is required if compare is specified.
- string1: Required. String expression being searched.
- string2: Required. String expression searched for.
- Compare: Optional. Numeric value indicating the kind of comparison to use when evaluating substrings. See Settings section for values. If omitted, a binary comparison is performed.
- Settings: The compare argument can have the following values.
Table 11-15 Comparison Constants and Descriptions
Constant Value Description vbBinaryCompare
0 Perform a binary comparison vbTextCompare
1 Perform a textual comparison
Return Value
The InStr
function returns the following values:
Table 11-16 Instr Function Return Values
If | Inst Returns |
---|---|
string1 is zero-length | 0 |
string2 is zero-length | Start |
string2 is not found | 0 |
string2 is found within string1 | Position at which match is found. |
start > Len(string2) | 0 |
Remarks
The following examples use InStr
to search a string:
Example 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
Example 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
Example 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
Example 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).