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,
- VbUseCompareOption: (-1) É usado para fazer a comparação de opções.
- VbBinaryCompare: (0) É usado para fazer comparação binária.
- 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 ExcelFunçã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 -
- Função VBA VLOOKUP
- Função SWITCH do Excel
- Guia completo do VBA On Error
- Usos da barra de rolagem no Excel