Função VBA StrComp

Em nosso trabalho, normalmente fazemos comparações sempre. Essas comparações podem ser em textos de números ou em qualquer tipo de dados. Para números, já sabemos como fazemos uma comparação. Existem muitos métodos matemáticos para fazer isso. Mas como comparamos duas strings, que resultado obteremos. STRCOMP no VBA é uma função de comparação de cadeias. Ele compara duas seqüências de caracteres e nos dá o resultado. No entanto, o resultado da comparação não é verdadeiro ou falso. Há três maneiras de comparar duas cadeias de caracteres na função STRCOMP. Antes de mergulharmos nisso, vamos ver a sintaxe dessa função.

Sintaxe do StrComp no Excel VBA

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

String 1 é a string que será comparada com a string 2. Os métodos de comparação são opcionais para esta função. Agora vamos aos métodos de comparação nesta função. Existem três tipos de métodos de comparação nessa função e são os seguintes:

  1. VbBinaryCompare: esse é o método de comparação padrão, se não escolhermos um método de comparação para nossa função. Esse método de comparação diferencia maiúsculas de minúsculas, o que significa que se a sequência 1 e a sequência 2 forem iguais, mas a sequência 1 estiver em letras minúsculas e a sequência 2 em maiúsculas, ambas não serão semelhantes. O código binário para "a" e "A" são diferentes. Da mesma forma para outros personagens. Esses códigos são chamados de códigos ASCII.
  2. VbTextCompare: nesse método de comparação, a comparação não diferencia maiúsculas de minúsculas; portanto, se as strings 1 e 2 forem iguais, mas não no mesmo caso, esses métodos de comparação serão usados.
  3. Comparação de acesso: esse método é usado em comparações de banco de dados.

Agora, quando usamos essa função, que resultado obteremos? Não seremos verdadeiros ou falsos usando esta função de comparação. Em vez disso, podemos ter qualquer um dos seguintes resultados:

  1. 0 se as strings forem iguais umas às outras.
  2. 1 se as cadeias não coincidirem.
  3. -1 se a primeira cadeia for menor que a cadeia 2.
  4. NULL se não houver valor para as cadeias 1 e 2.

Examinaremos vários exemplos e veremos como essas comparações de strings são feitas no VBA.

Como usar a função VBA StrComp no Excel?

Vamos aprender como usar uma função VBA StrComp com exemplo no excel.

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

Exemplo # 1 - VBA StrComp

Vamos primeiro usar o método de comparação binária no nosso exemplo. Vamos pegar duas entradas de strings do usuário, uma em minúscula enquanto a outra em maiúscula e compará-las.

Etapa 1: na guia do desenvolvedor e, em seguida, no Visual Basic para entrar no VB Editor.

Etapa 2: insira um módulo na guia Inserir para começar a escrever códigos no VBA.

Etapa 3: Clique duas vezes no módulo na guia Projeto e declare uma sub-função da seguinte maneira.

Código:

 Subamostra () End Sub 

Etapa 4: precisamos definir três variáveis ​​como strings, duas reterão nossa entrada enquanto outra armazenará o resultado.

Código:

 Sub Amostra () Dim A, B, C Como String End Sub 

Etapa 5: nas variáveis ​​A e B, receba a entrada do usuário por duas seqüências da seguinte maneira.

Código:

 Subamostra () Dim A, B, C Como String A = InputBox ("Digite uma String", "Em Minúsculas") B = InputBox ("Digite uma String", "Em Maiúsculas") End Sub 

Etapa 6: compare as duas seqüências de caracteres nas variáveis ​​A e B e armazene o valor em C usando a função STRCOMP e use um método de comparação como comparação binária.

Código:

 Subamostra () Dim A, B, C Como String A = InputBox ("Digite uma String", "Em Minúsculas") B = InputBox ("Digite uma String", "Em Maiúsculas") C = StrComp (A, B, vbBinaryCompare) End Sub 

Etapa 7: Exiba a saída armazenada na Variável C usando a função Msgbox.

Código:

 Subamostra () Dim A, B, C Como String A = InputBox ("Digite uma String", "Em Minúsculas") B = InputBox ("Digite uma String", "Em Maiúsculas") C = StrComp (A, B, vbBinaryCompare) MsgBox C End Sub 

Etapa 8: Agora pressione F5 para executar o código e forneça duas seqüências de entrada da seguinte maneira:

Etapa 9: veja o resultado final da seguinte maneira.

Obtemos 1 como resultado, porque, na comparação binária, as duas strings não são iguais, pois uma das strings está em maiúsculas enquanto a outra está em minúsculas.

Exemplo # 2 - VBA StrComp

Agora vamos usar outro método de comparação que é VbTextCompare e ver quais resultados obteremos para as mesmas entradas que fornecemos acima.

Etapa 1: no módulo que inserimos anteriormente, clique duas vezes nele na guia projeto e declare uma subfunção para começar a trabalhar no segundo exemplo da seguinte maneira.

Código:

 Sub Amostra1 () End Sub 

Etapa 2: Precisamos definir três variáveis ​​como strings, duas reterão nossa entrada enquanto outra armazenará o resultado.

Código:

 Sub Amostra1 () Dim A, B, C Como String End Sub 

Etapa 3: nas variáveis ​​A e B, receba a entrada do usuário por duas seqüências da seguinte maneira.

Código:

 Sub Amostra1 () Dim A, B, C Como String A = InputBox ("Digite uma String", "Em Minúsculas") B = InputBox ("Digite uma String", "Em Maiúsculas") End Sub 

Etapa 4: compare as duas strings nas variáveis ​​A e B e armazene o valor em C usando a função STRCOMP e use o método de comparação como comparação de texto.

Código:

 Sub Amostra1 () Dim A, B, C Como String A = InputBox ("Digite uma String", "Em Minúsculas") B = InputBox ("Digite uma String", "Em Maiúsculas") C = StrComp (A, B, vbTextCompare) End Sub 

Etapa 5: Exiba a saída armazenada na Variável C usando a função Msgbox.

Código:

 Sub Amostra1 () Dim A, B, C Como String A = InputBox ("Digite uma String", "Em Minúsculas") B = InputBox ("Digite uma String", "Em Maiúsculas") C = StrComp (A, B, vbTextCompare) MsgBox C End Sub 

Etapa 6: Agora pressione F5 e forneça duas cadeias de entrada da seguinte maneira.

Etapa 7: veja o resultado final da seguinte maneira.

Obtemos 0 como resultado, pois a comparação de texto não diferencia maiúsculas de minúsculas, o que significa que as strings são iguais.

Exemplo # 3 - VBA StrComp

Agora, tenho alguns dados na Planilha 1, como a seguir, quero descobrir se os dados na coluna A e na coluna B são semelhantes ou não. Veja os dados abaixo.

Etapa 1: Vamos trabalhar no terceiro exemplo para nossos dados da seguinte maneira.

Código:

 Sub Amostra2 () End Sub 

Etapa 2: ative a planilha 1 para que possamos usar suas propriedades.

Código:

 Sub Amostra2 () Planilhas ("Plan1"). Ativar End Sub 

Etapa 3: Declare duas variáveis, uma como número inteiro que será usada para loop e outra como uma string que será usada para armazenar o resultado da comparação.

Código:

 Sub Sample2 () Worksheets ("Sheet1"). Ative Dim A como número inteiro Dim B como String End Sub 

Etapa 4: escreva o código a seguir para comparar e usar o loop for.

Código:

 Sub Sample2 () Worksheets ("Sheet1"). Ative Dim A como número inteiro Dim B As String Para A = 2 a 5 B = StrComp (células (A, 1) .Value, células (A, 2) .Value, vbBinaryCompare) Se B = 0 Então Células (A, 3) .Value = "Igual" Outras Células (A, 3) .Value = "NÃO Igual" Fim Se Próximo A Fim Sub 

Etapa 5: execute o código acima e veja o resultado na folha 1 da seguinte maneira.

Nenhuma das strings foi igual na comparação.

Coisas para lembrar

  • Esta é uma função de comparação.
  • Retorna 0, 1, -1 ou NULL como resultado, não verdadeiro ou falso.
  • Se não fornecermos nenhum dos métodos de comparação, por padrão, o método de comparação é VbBinaryCompare.
  • Método de comparação é um argumento opcional para esta função.

Artigos recomendados

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

  1. VBA InStr explicado com exemplos
  2. Tipo de dados inteiro VBA
  3. Como selecionar uma célula usando o código VBA?
  4. Transpor um intervalo no VBA
  5. Planilhas do VBA (exemplos)

Categoria: