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).