Função VBA InStrRev

Conhecer a ocorrência de uma string em outra string pode ser muito útil ao trabalhar com dados do dia a dia. Obviamente, podemos fazê-lo manualmente calculando a ocorrência da string em outra string, mas isso seria uma tarefa muito pesada. Portanto, para facilitar, temos uma função no VBA, conhecida como INSTRREV, usada para encontrar a ocorrência.

Como explicado acima, o INSTRREV no Excel VBA é usado para encontrar uma ocorrência de uma sequência em outra sequência. Esta função localiza a primeira ocorrência de uma sequência na sequência de destino e retorna o valor. Agora temos que lembrar que, como fornece a ocorrência da string, o valor retornado é numérico. Além disso, como é uma função de comparação, assim como outras funções no VBA, existem três métodos básicos de comparação.

Sintaxe do InStrRev no Excel VBA

A sintaxe da função VBA InStrRev no Excel é a seguinte:

Agora, vamos detalhar a sintaxe e aprender sobre ela: String é a principal string de onde queremos encontrar a ocorrência de uma substring, Start é a ocorrência numérica que fornecemos à string. Se nenhum parâmetro de início for fornecido, a função começará a procurar uma sequência a partir do final. E compare é o método de comparação que fornecemos para a função. Existem três tipos de comparação para esta função:

  1. Para usar a Opção Comparar, que é (-1). Também é conhecido como VbUseCompareOption.
  2. Para usar a Comparação binária, que é (0). Também é conhecido como VbBinaryCompare.
  3. Para usar a Comparação de Texto, que é (1). Também é conhecido como VbTextCompare.

Novamente, se nenhuma das opções de comparação for fornecida, a função a considerará automaticamente como uma comparação binária.

Agora vamos usar essa função em alguns exemplos e ver como usar essa função.

Como usar o Excel VBA InStrRev?

Agora vamos tentar com alguns exemplos no VBA InStrRev no Excel.

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

Exemplo # 1 - VBA InStrRev

Vamos dar um exemplo de que nossa string é "Eu sou um bom garoto" e descobrimos a ocorrência do caractere "" que é o espaço.

Etapa 1: agora, antes de migrar para o VBA, primeiro ative o VBA e, em seguida, vá para a seção de código na seção do desenvolvedor e clique em Visual Basic.

Passo 2: Depois de entrar no editor de VB, podemos ver na seção do cabeçalho, existe uma opção de inserção. Insira um novo módulo dessa opção, como mostrado abaixo.

Etapa 3: Agora, vamos iniciar nosso subprocedimento no módulo, como mostrado abaixo.

Código:

 Subamostra () End Sub 

Etapa 4: Agora declare uma variável como um número inteiro que manterá o valor de saída da função para nós.

Código:

 Subamostra () Dim A Como Inteiro Final Sub 

Etapa 5: Agora, na variável, use a função INSTRREV para encontrar a ocorrência de "" na sequência "Eu sou um bom garoto", como a seguir.

Código:

 Subamostra () Dim A Como Inteiro A = InStrRev ("Eu sou um bom garoto", "") End Sub 

Etapa 6: Agora exiba o valor armazenado na variável A usando a função msgbox.

Código:

 Subamostra () Dim A Como Inteiro A = InStrRev ("Eu sou um bom garoto", "") MsgBox A End Sub 

Etapa 7: Vamos executar o código acima para obter o seguinte resultado.

Obtemos o resultado como 13 porque não fornecemos a posição inicial para a função, de modo que ela calculava automaticamente a ocorrência a partir do final e, portanto, o resultado. Verifica-se que ““ está na 13ª posição da string quando a pesquisamos do final.

Exemplo # 2 - VBA InStrRev

No exemplo acima, não fornecemos nenhuma posição inicial para a string. Vamos fornecer esse tempo neste exemplo. Vamos descobrir a partir da segunda posição, onde o ““ ocorre na string.

Etapa 1: Insira um novo módulo dessa opção, como mostrado abaixo.

Etapa 2: Vamos definir novamente um subprocedimento para o nosso segundo exemplo.

Código:

 Sub Amostra1 () End Sub 

Etapa 3: declarar outra variável inteira para o exemplo.

Código:

 Sub Amostra1 () Dim A Como Inteiro Final Sub 

Etapa 4: Agora, na variável A, localizamos a ocorrência do ““ da segunda posição usando a função INSTRREV da seguinte maneira.

Código:

 Sub Amostra1 () Dim A Como Inteiro A = InStrRev ("Eu sou um Bom Garoto", "", 2) End Sub 

Etapa 5: Agora use a função msgbox para exibir o valor armazenado em A.

Código:

 Sub Amostra1 () Dim A Como Inteiro A = InStrRev ("Eu sou um Bom Garoto", "", 2) MsgBox A End Sub 

Etapa 6: agora execute o código acima para descobrir o resultado abaixo, como mostrado abaixo,

Obtemos 1 como resultado, pois contamos 2, obtemos I e após uma posição obtemos a ocorrência de ““.

Exemplo # 3 - VBA InStrRev

Neste exemplo, vamos usar os métodos de comparação. Temos uma string "India is the Best" e vamos encontrar a string "E" usando os métodos de comparação de texto e binário.

Etapa 1: no mesmo módulo 1, escreva outro subprocedimento, por exemplo 3.

Código:

 Sub Amostra2 () End Sub 

Etapa 2: Vamos definir duas variáveis ​​como Inteiro, que manterão o valor para a ocorrência da string E na comparação de Texto e Binária, respectivamente.

Código:

 Sub Amostra2 () Dim A, B Como Inteiro Final Sub 

Etapa 3: Na variável A, vamos usar a função INSTRREV com a comparação de texto da seguinte maneira.

Código:

 Sub Amostra2 () Dim A, B Como Inteiro A = InStrRev ("A Índia é a Melhor", "E",, vbTextCompare) End Sub 

Etapa 4: agora exiba o valor armazenado em A usando a função msgbox.

Código:

 Sub Amostra2 () Dim A, B Como Inteiro A = InStrRev ("A Índia é a Melhor", "E",, vbTextCompare) MsgBox A End Sub 

Etapa 5: Na variável B, vamos usar a comparação binária para a mesma string da seguinte forma.

Código:

 Sub Amostra2 () Dim A, B Como Inteiro A = InStrRev ("A Índia é a Melhor", "E",, vbTextCompare) MsgBox AB = InStrRev ("A Índia é a Melhor", "E", vbBinaryCompare) MsgBox B End Sub 

Etapa 6: execute o código acima para encontrar o primeiro resultado armazenado na variável A, que é a seguinte.

Etapa 7: pressione OK para ver o resultado armazenado na variável B.

Obtemos 0 como resultado da comparação binária, porque em nossa string "e" não está presente "E". Em valores binários, ambos são diferentes. Portanto, se um valor não for encontrado na string, obteremos um resultado como 0.

Coisas para lembrar

  • O valor retornado por esta função é numérico.
  • Se a substring não for encontrada, o valor retornado será 0.
  • A posição inicial é opcional. Se não for fornecido, por função padrão, procure a ocorrência no final da string.
  • Os métodos de comparação também são opcionais.

Artigos recomendados

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

  1. Trabalhando com o VBA Active Cell
  2. Excluindo uma linha no VBA
  3. Como usar o Excel VBA Transpose?
  4. Como corrigir o erro 1004 usando o VBA

Categoria: