Função InStr

Retorna uma Variant (Long) que especifica a posição da primeira ocorrência de uma cadeia de caracteres em outra.

Observação

Interessado em desenvolver soluções que ampliem a experiência do Office em várias plataformas? Confira o novo modelo de Suplementos do Office. Os suplementos do Office ocupam um pequeno espaço em comparação com os suplementos e as soluções do VSTO, e você pode criá-los usando quase qualquer tecnologia de programação da Web, como o HTML5, JavaScript, CSS3 e XML.

Sintaxe

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

A sintaxe da função InStr tem estes argumentos:

Parte Descrição
início Opcional. Expressão numérica que define a posição inicial de cada pesquisa. Caso seja omitido, a pesquisa começará na posição do primeiro caractere. Se start contiver Null,ocorrerá um erro. O argumento start é necessário caso compare seja especificado.
string1 Obrigatório. Expressão de cadeia de caracteres a ser pesquisada.
string2 Obrigatório. Expressão de cadeia de caracteres procurada.
comparação Opcional. Especifica o tipo de comparação de cadeia de caracteres. Se a comparação for Null, ocorrerá um erro. Se compare for omitido, a configuração Option Compare determinará o tipo de comparação. Especifica um LCID válido (LocaleID) para usar regras específicas de localidade na comparação.

Configurações

As configurações do argumento compare são:

Constant Valor Descrição
vbUseCompareOption -1 Executa uma comparação usando a configuração da instrução Option Compare.
vbBinaryCompare 0 Executa uma comparação binária.
vbTextCompare 1 Executa uma comparação textual.
vbDatabaseCompare 2 Somente Microsoft Access. Executa uma comparação baseada nas informações do seu banco de dados.

Valor de retorno

Se InStr retorna
string1 tem comprimento zero 0
string1 é Null Null
string2 tem comprimento zero início
string2 é Null Null
string2 não foi encontrada 0
string2 não for encontrada dentro da string1 Posição na qual a correspondência é encontrada
start>string2 0

Comentários

A função InStrB é usada com dados de byte contidos em uma cadeia de caracteres. Em vez de retornar a posição do caractere da primeira ocorrência de uma cadeia de caracteres em outra, InStrB retorna a posição de byte.

Exemplo

Este exemplo usa a função InStr para retornar a posição da primeira ocorrência de uma cadeia de caracteres em outra.

Dim SearchString, SearchChar, MyPos
SearchString ="XXpXXpXXPXXP"    ' String to search in.
SearchChar = "P"    ' Search for "P".

' A textual comparison starting at position 4. Returns 6.
MyPos = Instr(4, SearchString, SearchChar, 1)    

' A binary comparison starting at position 1. Returns 9.
MyPos = Instr(1, SearchString, SearchChar, 0)

' Comparison is binary by default (last argument is omitted).
MyPos = Instr(SearchString, SearchChar)    ' Returns 9.

MyPos = Instr(1, SearchString, "W")    ' Returns 0.

Confira também

Suporte e comentários

Tem dúvidas ou quer enviar comentários sobre o VBA para Office ou sobre esta documentação? Confira Suporte e comentários sobre o VBA para Office a fim de obter orientação sobre as maneiras pelas quais você pode receber suporte e fornecer comentários.