Fonction VBA StrComp

Dans notre travail, nous faisons normalement des comparaisons à chaque fois. Ces comparaisons peuvent porter sur des textes de nombres ou sur tout type de données. Pour les chiffres, nous savons déjà comment faire une comparaison. Il existe de nombreuses méthodes mathématiques pour le faire. Mais comment comparer deux chaînes, quel résultat obtiendrons-nous? STRCOMP dans VBA est une fonction de comparaison de chaînes. Il compare deux cordes entre elles et nous donne le résultat. Cependant, le résultat de la comparaison n'est ni vrai ni faux. Il existe trois façons de comparer deux chaînes dans la fonction STRCOMP. Avant de plonger dans cela, voyons la syntaxe de cette fonction.

Syntaxe de StrComp dans Excel VBA

La syntaxe de la fonction VBA StrComp dans Excel est la suivante:

La chaîne 1 est la chaîne qui sera comparée à la chaîne 2. Les méthodes de comparaison sont facultatives pour cette fonction. Passons maintenant aux méthodes de comparaison dans cette fonction. Il existe trois types de méthodes de comparaison dans cette fonction et ils sont les suivants:

  1. VbBinaryCompare: Il s'agit de la méthode de comparaison par défaut si nous ne choisissons pas de méthode de comparaison pour notre fonction. Cette méthode de comparaison est sensible à la casse, ce qui signifie que si la chaîne 1 et la chaîne 2 sont identiques mais que la chaîne 1 est en minuscules et la chaîne 2 en majuscules, les deux ne seront pas similaires. Les codes binaires pour «a» et «A» sont différents. De même pour les autres personnages. Ces codes sont appelés codes ASCII.
  2. VbTextCompare: Dans cette méthode de comparaison, la comparaison n'est pas sensible à la casse, donc si la chaîne 1 et la chaîne 2 sont égales mais pas dans le même cas, alors ces méthodes de comparaison seront utilisées.
  3. Comparaison d'accès: cette méthode est utilisée dans les comparaisons de bases de données.

Maintenant, quand nous utilisons cette fonction, quel résultat obtiendrons-nous? Nous n'obtiendrons pas vrai ou faux en utilisant cette fonction de comparaison. Au lieu de cela, nous pouvons avoir l'un des résultats suivants:

  1. 0 si les chaînes sont égales les unes aux autres.
  2. 1 si les chaînes ne correspondent pas les unes aux autres.
  3. -1 si la première chaîne est plus petite que la chaîne 2.
  4. NULL s'il n'y a pas de valeur pour la chaîne 1 et la chaîne 2.

Nous allons passer en revue divers exemples et voir comment ces comparaisons de chaînes sont effectuées dans VBA.

Comment utiliser la fonction VBA StrComp dans Excel?

Nous allons apprendre à utiliser une fonction VBA StrComp avec exemple dans Excel.

Vous pouvez télécharger ce modèle Excel VBA StrComp ici - Modèle Excel VBA StrComp

Exemple # 1 - VBA StrComp

Utilisons d'abord la méthode de comparaison binaire pour notre exemple. Nous prendrons deux entrées de chaîne de l'utilisateur, une en minuscules tandis que l'autre sera en majuscules et les comparer.

Étape 1: à partir de l'onglet du développeur, puis à partir de Visual Basic pour accéder à VB Editor.

Étape 2: insérez un module à partir de l'onglet d'insertion pour commencer à écrire des codes dans VBA.

Étape 3: Double-cliquez sur le module dans l'onglet projet et déclarez une sous-fonction comme suit.

Code:

 Sous-échantillon () End Sub 

Étape 4: Nous devons définir trois variables comme des chaînes, deux conserveront notre entrée tandis qu'une autre stockera le résultat.

Code:

 Sub Sample () Dim A, B, C As String End Sub 

Étape 5: Dans les variables A et B, saisissez l'entrée de l'utilisateur pour deux chaînes comme suit.

Code:

 Sub Sample () Dim A, B, C As String A = InputBox ("Enter a String", "In Lowercase") B = InputBox ("Enter a String", "In Uppercase") End Sub 

Étape 6: Comparez les deux chaînes dans les variables A et B et stockez la valeur dans C à l'aide de la fonction STRCOMP et utilisez une méthode de comparaison comme comparaison binaire.

Code:

 Sous-échantillon () Dim A, B, C As String A = InputBox ("Enter a String", "In Lowercase") B = InputBox ("Enter a String", "In Uppercase") C = StrComp (A, B, vbBinaryCompare) End Sub 

Étape 7: Affichez la sortie stockée dans la variable C à l'aide de la fonction Msgbox.

Code:

 Sous-échantillon () Dim A, B, C As String A = InputBox ("Enter a String", "In Lowercase") B = InputBox ("Enter a String", "In Uppercase") C = StrComp (A, B, vbBinaryCompare) MsgBox C End Sub 

Étape 8: Maintenant, appuyez sur F5 pour exécuter le code et fournir deux chaînes d'entrée comme suit,

Étape 9: Voir le résultat final comme suit.

Nous obtenons 1 comme résultat car dans la comparaison binaire, les deux chaînes ne sont pas égales car l'une des chaînes est en majuscules tandis que l'autre est en minuscules.

Exemple # 2 - VBA StrComp

Maintenant, utilisons une autre méthode de comparaison qui est VbTextCompare et voyons quels résultats obtiendrons-nous pour les mêmes entrées que nous avons fournies ci-dessus.

Étape 1: Dans le module, nous avons inséré plus tôt, double-cliquez dessus dans l'onglet projet et déclarez une sous-fonction pour commencer à travailler sur le deuxième exemple comme suit.

Code:

 Sub Sample1 () End Sub 

Étape 2: Nous devons définir trois variables comme des chaînes, deux contiendront notre entrée tandis qu'une autre stockera le résultat.

Code:

 Sub Sample1 () Dim A, B, C As String End Sub 

Étape 3: Dans les variables A et B, saisissez les données de l'utilisateur pour deux chaînes comme suit.

Code:

 Sub Sample1 () Dim A, B, C As String A = InputBox ("Enter a String", "In Lowercase") B = InputBox ("Enter a String", "In Uppercase") End Sub 

Étape 4: Comparez les deux chaînes dans les variables A et B et stockez la valeur dans C à l'aide de la fonction STRCOMP et utilisez la méthode de comparaison comme comparaison de texte.

Code:

 Sub Sample1 () Dim A, B, C As String A = InputBox ("Enter a String", "In Lowercase") B = InputBox ("Enter a String", "In Uppercase") C = StrComp (A, B, vbTextCompare) End Sub 

Étape 5: Affichez la sortie stockée dans la variable C à l'aide de la fonction Msgbox.

Code:

 Sub Sample1 () Dim A, B, C As String A = InputBox ("Enter a String", "In Lowercase") B = InputBox ("Enter a String", "In Uppercase") C = StrComp (A, B, vbTextCompare) MsgBox C End Sub 

Étape 6: Appuyez maintenant sur F5 et fournissez deux chaînes d'entrée comme suit.

Étape 7: Voir le résultat final comme suit.

Nous obtenons 0 comme résultat car la comparaison de texte n'est pas sensible à la casse, ce qui signifie que les chaînes sont égales.

Exemple # 3 - VBA StrComp

Maintenant, j'ai quelques données dans la feuille 1 comme suit, je veux savoir si les données de la colonne A et de la colonne B sont similaires ou non. Jetez un œil aux données ci-dessous.

Étape 1: Travaillons dans le troisième exemple pour nos données comme suit.

Code:

 Sub Sample2 () End Sub 

Étape 2: Activez la feuille de calcul 1 afin que nous puissions utiliser ses propriétés.

Code:

 Sub Sample2 () Worksheets ("Sheet1"). Activer End Sub 

Étape 3: Déclarez deux variables une comme un entier qui sera utilisé pour la boucle et l'autre comme une chaîne qui utilisera pour stocker le résultat de la comparaison.

Code:

 Sub Sample2 () Worksheets ("Sheet1"). Activate Dim A As Integer Dim B As String End Sub 

Étape 4: Écrivez le code suivant pour comparer et utiliser la boucle for.

Code:

 Sub Sample2 () Worksheets ("Sheet1"). Activate Dim A As Integer Dim B As String For A = 2 To 5 B = StrComp (Cells (A, 1) .Value, Cells (A, 2) .Value, vbBinaryCompare) Si B = 0, alors les cellules (A, 3) .Valeur = "Equal" Sinon les cellules (A, 3) .Value = "NOT Equal" End If Next A End Sub 

Étape 5: exécutez le code ci-dessus et voyez le résultat dans la feuille 1 comme suit.

Aucune des chaînes n'était égale dans la comparaison.

Choses dont il faut se rappeler

  • Il s'agit d'une fonction de comparaison.
  • Il retourne 0, 1, -1 ou NULL comme résultat non vrai ou faux.
  • Si nous ne fournissons aucune des méthodes de comparaison, la méthode de comparaison est par défaut VbBinaryCompare.
  • La méthode de comparaison est un argument facultatif pour cette fonction.

Articles recommandés

Ceci est un guide de VBA StrComp. Nous discutons ici comment utiliser la fonction Excel VBA StrComp avec des exemples pratiques et un modèle Excel téléchargeable. Vous pouvez également consulter nos autres articles suggérés -

  1. VBA InStr expliqué avec des exemples
  2. Type de données entier VBA
  3. Comment sélectionner une cellule en utilisant le code VBA?
  4. Transposer une plage en VBA
  5. Feuilles de travail VBA (exemples)

Catégorie: