InStr Function
Returns the position of the first occurrence of one string within
another.
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:
| Constant | Value | Description | | vbBinaryCompare | 0 | Perform a binary comparison. | | vbTextCompare | 1 | Perform a textual comparison. |
Return Values
The InStr function returns the following values:
| If | InStr returns | | string1 is zero-length | 0 | | string1 is Null | Null | | string2 is zero-length | start | | string2 is Null | Null | | 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: 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. Returns 6.
MyPos = Instr(1, SearchString, SearchChar, 0) ' A binary comparison starting at position 1. Returns 9.
MyPos = Instr(SearchString, SearchChar) ' Comparison is binary by default (last argument is omitted). Returns 9.
MyPos = Instr(1, SearchString, "W") ' A binary comparison starting at position 1. Returns 0 ("W" is not found).
Note The InStrB function is used with
byte data contained in a string. Instead of returning the character position of
the first occurrence of one string within another, InStrB returns the
byte position.
|