Função InStr

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

Veja alguns exemplos

Sintaxe

InStr ([início, ] Seqüência1, seqüência2 [, comparar ] )

A sintaxe da função InStr tem os seguintes argumentos:

Argumento

Descrição

início

Opcional. Expressão numérica que define a posição inicial para cada pesquisa. Se omitido, a pesquisa começará na posição do primeiro caractere. Se Iniciar contiver nulo, ocorrerá um erro. O argumento inícioserá necessário se comparar for especificado.

cadeia1

Obrigatório. Expressão de cadeia de caracteres que está sendo pesquisada.

cadeia2

Obrigatório. Expressão de cadeia de caracteres procurada.

comparar

Opcional. Especifica o tipo de comparação de cadeia de caracteres. Se comparar for Nulo, ocorrerá um erro. Se comparar for omitido, a configuração opçãocomparar determinará o tipo de comparação. Especifique um LCID (LocaleID) válido para usar regras específicas de localidade na comparação.

Dica: No Access 2010, o construtor de expressões tem o IntelliSense, portanto, você pode ver quais argumentos sua expressão requer. 

Configurações

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

Constante

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

Microsoft Office Access 2007 apenas. Executa uma comparação com base nas informações do seu banco de dados.


Valores de retorno

If

O InStr retorna

o comprimento de seqüência1 é zero

0

seqüência1 é nulo

Nulo

seqüência2 tem comprimento zero

início

seqüência2 é nulo

Nulo

seqüência2 não encontrado

0

seqüência2 localizado em Seqüência1

Posição na qual a correspondência for encontrada

Iniciar > seqüência2

0


Comentários

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

Exemplos

Usar a função InStr em uma expressão    Você pode usar o InStr em qualquer lugar onde possa usar expressões. Por exemplo, se você quiser encontrar a posição do primeiro período (.) em um campo que contém endereços IP (denominados IPAddress), você pode usar o InStr para localizá-lo, assim:

InStr (1, [IPAddress], ".")

A função InStr examina cada valor no campo IPAddress e retorna a posição do primeiro período. Portanto, se a primeira parte do endereço IP for 10., a função retornará o valor 3.

Em seguida, você pode usar outras funções, operando na saída da função InStr , para extrair a parte do endereço IP que precede o primeiro período, assim:

Left ([IPAddress], (Instr (1, [IPAddress], ".") -1))

Neste exemplo, InStr (1, [IPAddress], ".") Retorna a posição do primeiro período. Subtrair 1 determina o número de caracteres que precede o primeiro período, neste caso, 2. A função esquerda , em seguida, extrai todos os caracteres da parte esquerda do campo IPAddress, retornando o valor 10.

Usar InStr no código VBA    

Observação: Exemplos a seguir demonstram o uso dessa função em um módulo do Visual Basic for Applications (VBA). Para obter mais informações sobre como trabalhar com o VBA, selecione referência do desenvolvedor na lista suspensa ao lado de Pesquisar e insira um ou mais termos na caixa de pesquisa.

Este exemplo usa a função InStr para retornar a posição da primeira ocorrência de uma cadeia de caracteres dentro de 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.

Observação:  Esta página foi traduzida automaticamente e pode apresentar erros gramaticais ou imprecisões. Nosso objetivo é que este conteúdo seja útil para você. Você pode nos dizer se as informações foram úteis? Use o artigo em inglês como referência.​

Consulte Também

As funções de cadeia de caracteres e como usá-las

Expanda suas habilidades no Office
Explore o treinamento
Obtenha novos recursos primeiro
Ingressar no Office Insider

Essas informações foram úteis?

Obrigado por seus comentários!

Agradecemos pelos seus comentários! Parece que pode ser útil conectar você a um de nossos agentes de suporte do Office.

×