Instr no Excel VBA - Macros fáceis do Excel

Índice

Função Instr simples | Posição inicial | Zero | Instr e If | Pesquisa que não diferencia maiúsculas de minúsculas

Usar Instr em Excel VBA para encontrar a posição de uma substring em uma string. A função Instr é bastante versátil.

Coloque um botão de comando em sua planilha e adicione as linhas de código abaixo. Para executar as linhas de código, clique no botão de comando na folha.

Função Instr simples

Por padrão, a função Instr começa a pesquisar no início da string (posição 1).

Código:

Dim state As String
estado = "Virgínia"
MsgBox InStr (estado, "gin")

Resultado:

Nota: string "gin" encontrada na posição 4.

Posição inicial

A segunda função Instr abaixo começa a pesquisar na posição 7.

Código:

Dim state As String
estado = "Carolina do Sul"
MsgBox InStr (estado, "o")
MsgBox InStr (7, estado, "o")

Resultado:

Explicação: a primeira função Instr encontra a string "o" na posição 2. A segunda função Instr começa a pesquisar na posição 7 e encontra a string "o" na posição 10.

Zero

A função Instr retorna 0 se a string não for encontrada (importante, como veremos a seguir).

Código:

Dim state As String
estado = "Flórida"
MsgBox InStr (estado, "nós")

Resultado:

Conclusão: string "us" não encontrada.

Instr e If

Vamos criar um programa VBA simples que usa o Função instr.

Código:

Dim state As String, substring As String
estado = intervalo ("A2"). Valor
substring = intervalo ("B2"). Valor
If InStr (state, substring)> 0 Then
Intervalo ("C2"). Valor = "Encontrado"
Outro
Intervalo ("C2"). Valor = "Não encontrado"
Fim se

Resultado quando você clica no botão de comando na planilha:

Explicação: string "outh" encontrada na posição 2. A função Instr retorna 2. Como resultado, o Excel VBA coloca a string "Found" na célula C2.

Pesquisa que não diferencia maiúsculas de minúsculas

Por padrão, a função Instr executa uma pesquisa com distinção entre maiúsculas e minúsculas. Digite a string "dakota" na célula B2 e clique no botão de comando na planilha.

Explicação: string "dakota" não encontrada (primeira letra não maiúscula). A função Instr retorna 0. Como resultado, o Excel VBA coloca a string "Não encontrado" na célula C2.

Para realizar uma pesquisa que não diferencia maiúsculas de minúsculas, atualize o código da seguinte maneira:

Dim state As String, substring As String
estado = intervalo ("A2"). Valor
substring = intervalo ("B2"). Valor
If InStr (1, state, substring, vbTextCompare)> 0 Then
Intervalo ("C2"). Valor = "Encontrado"
Outro
Intervalo ("C2"). Valor = "Não encontrado"
Fim se

Resultado quando você clica no botão de comando na planilha:

Explicação: a função Instr mostrada acima possui 4 argumentos. Para realizar uma pesquisa que não diferencia maiúsculas de minúsculas, sempre especifique uma posição inicial (primeiro argumento) e use vbTextCompare (quarto argumento).

Você vai ajudar o desenvolvimento do site, compartilhando a página com seus amigos

wave wave wave wave wave