Updated: April 2009
Returns the position of the first occurrence of one string within another.
InStr([start, ]string1, string2[, compare])
Optional. Numeric expression that sets the starting position for each search. The first character position is position 1.
If this argument is omitted, search begins at the first character position. If start contains Null, an error occurs. The start argument is required if compare is specified.
Required. String expression being searched.
Required. String expression searched for.
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.
The compare argument can have the following values:
Constant
Value
Description
vbBinaryCompare
0
Perform a binary comparison.
vbTextCompare
1
Perform a textual comparison.
The InStr function returns the following values:
If
InStr returns
string1 is zero-length
string1 is Null
Null
string2 is zero-length
start
string2 is Null
string2 is not found
string2 is found within string1
Position at which match is found
start > Len(string1)
The following examples use InStr to search a string:
Dim MyPos ' This is a binary comparison because the last argument is omitted. ' Returns 3. MyPos = InStr ("abcdefgh", "c") ' In this binary comparison, the uppercase "C" is not found ' in the lowercase string. ' Returns 0 (not found). MyPos = InStr ("abcdefgh", "C") ' In this text comparison starting at the first position, ' the uppercase "C" is found in the lowercase string. ' Returns 3. MyPos = InStr (1, "abcdefgh", "C", vbTextCompare)
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.
Version 1
Date
History
Reason
April 2009
Modified example and start argument definition.
Customer feedback.
Three options are provided - vbBinaryCompare (1), vbDatabaseCompare (2) & vbTextCompare (3)