Função VBA InStr

No VBA, temos uma função chamada Função InStr, que é usada para retornar a posição da primeira ocorrência de uma substring em uma string. O que significa, por exemplo, que temos um nome chamado "Jhon" e temos que encontrar a ocorrência da posição do alfabeto H na string. É para isso que a função é usada.

Fórmula para a função InStr no Excel VBA

A função InStr do VBA do Excel possui a seguinte sintaxe:

Na sintaxe Iniciar e comparar são opcionais, enquanto os valores de sequência e substring são necessários. Uma string é uma string onde queremos encontrar nossa substring e substring é o valor que é necessário ser encontrado na string. Suponha que se tivéssemos que usar a sintaxe acima em nosso exemplo de Jhon acima do código VBA seria o seguinte,

Instr ("Jhon", "H") e o resultado seria 2, pois a posição do alfabeto H é 2 na string.

Agora vamos para as partes opcionais da sintaxe, que são: iniciar e comparar. O início é a posição da sequência de onde queremos iniciar a pesquisa, enquanto a comparação é de três tipos,

  1. VbUseCompareOption: (-1) É usado para fazer a comparação de opções.
  2. VbBinaryCompare: (0) É usado para fazer comparação binária.
  3. VbTextCompare: (1) É usado para a comparação textual.

Mas precisamos de uma variável para armazenar o valor do resultado. Como o valor é um número inteiro, a variável definida também deve ser um número inteiro. Agora, se calculamos o valor, também precisamos exibir o resultado, usamos a função msgbox para exibir o resultado.

Como usar a função InStr do VBA do Excel?

Vamos aprender como usar uma função VBA InStr Excel com alguns exemplos.

Você pode fazer o download deste modelo do VBA InStr Excel aqui - Modelo do VBA InStr Excel

Função VBA InStr - Exemplo # 1

Na explicação acima, usei a palavra Jhon como uma string e queria encontrar a posição de H na string. Escreverei o código para o mesmo no VBA e usarei a função Instr para encontrar a posição de J na string.

Siga as etapas abaixo para usar a função InStr no VBA.

Etapa 1: na guia Desenvolvedor, clique em Visual Basic para abrir o Editor de VB.

Etapa 2: Quando o módulo estiver aberto, declare uma sub-função para começar a escrever o código.

Código:

 Sub Comparação () End Sub 

Etapa 3: Agora a função está declarada. Precisamos declarar uma variável para armazenar a posição da substring.

Código:

 Sub Comparar () Dim Pos Como Inteiro Final Sub 

Etapa 4: Agora escrevemos a função InStr para descobrir a posição da nossa substring.

Código:

 Sub Comparar () Dim Pos Como Inteiro Pos = InStr ("Jhon", "J") End Sub 

Etapa 5: para retornar a posição da substring como um valor, usamos a função MsgBox e fechamos a subfunção.

Código:

 Sub Compare () Dim Pos Como Inteiro Pos = InStr ("Jhon", "J") MsgBox Pos End Sub 

Etapa 6: se executarmos o código, ele mostrará a posição do alfabeto J na string.

Etapa 7: se alterarmos a substring para verificar se o código está funcionando corretamente, vamos encontrar o alfabeto n na string.

Código:

 Sub Compare () Dim Pos como Inteiro Pos = InStr ("Jhon", "n") MsgBox Pos End Sub 

Etapa 8: Agora, se executarmos o código, podemos ver a posição do alfabeto n na string.

Função VBA InStr - Exemplo # 2

Agora vimos o que os argumentos obrigatórios da função fazem, agora vamos usar os opcionais. A seqüência é "Eu sou um bom garoto, mas não um bom corredor". Encontraremos a subcadeia "Bom" da string, mas ignoraremos o primeiro Good da frase.

Siga as etapas abaixo para usar a função InStr no VBA.

Etapa 1: Abra o editor VB na guia dos desenvolvedores, clicando em Visual Basic.

Etapa 2: comece declarando uma subfunção.

Código:

 Sub Comparação1 () End Sub 

Etapa 3: agora declare uma variável para armazenar a posição da substring.

Código:

 Sub Compare1 () Dim Pos1 Como Inteiro Final Sub 

Etapa 4: Agora usaremos a função InStr para encontrar a posição da string.

Código:

 Sub Compare1 () Dim Pos1 Como número inteiro Pos = InStr (12, "Eu sou um bom garoto, mas não um bom corredor", "Bom", vbBinaryCompare) End Sub 

Etapa 5: Agora usamos a função Msgbox para retornar o valor da string.

Código:

 Sub Compare1 () Dim Pos1 Como número inteiro Pos = InStr (12, "Eu sou um bom garoto, mas não um bom corredor", "Bom", vbBinaryCompare) MsgBox Pos End Sub 

Etapa 6: Agora, se executarmos o código, podemos obter a posição da substring.

Explicação da função Instr do VBA do Excel

A função InStr no VBA é usada para retornar a posição do valor da substring em uma string. O que acontece se o valor não for encontrado? Se o valor não for encontrado na sequência, o resultado exibido será zero.

Sempre devemos lembrar que a função Instr diferencia maiúsculas de minúsculas. Para provar isso, passamos ao exemplo 1, onde usamos a função instr para pesquisar um alfabeto.

O que acontece se a substring for "N" em vez de "n"? vamos descobrir. Eu mudei o caso do alfabeto na string.

Agora, se eu executar o código, obterá o resultado, como mostrado abaixo.

Isso prova que a função instr faz distinção entre maiúsculas e minúsculas.

Coisas para lembrar

  • Os dois campos obrigatórios são String e Substring.
  • A função Instr diferencia maiúsculas de minúsculas.
  • O valor da função InStr é um número inteiro.

Artigos recomendados

Este foi um guia para a função VBA InStr. Aqui discutimos como usar a função InStr do VBA do Excel, juntamente com exemplos práticos e modelo de excel para download. Você também pode consultar nossos outros artigos sugeridos -

  1. Função VBA VLOOKUP
  2. Função SWITCH do Excel
  3. Guia completo do VBA On Error
  4. Usos da barra de rolagem no Excel

Categoria: