Fonction VBA InStr

Dans VBA, nous avons une fonction appelée fonction InStr qui est utilisée pour renvoyer la position de la première occurrence d'une sous-chaîne dans une chaîne. Ce qui signifie, par exemple, que nous avons un nom appelé "Jhon" et que nous devons trouver l'occurrence de la position de l'alphabet H dans la chaîne. C'est à cela que sert la fonction.

Formule pour la fonction InStr dans Excel VBA

La fonction Excel VBA InStr a la syntaxe suivante:

Dans la syntaxe Démarrer et comparer sont facultatifs tandis que les valeurs de chaîne et de sous-chaîne sont requises. Une chaîne est une chaîne où nous voulons trouver notre sous-chaîne et la sous-chaîne est la valeur qui doit être trouvée dans la chaîne. Supposons que si nous devions utiliser la syntaxe ci-dessus sur notre exemple de Jhon au-dessus, le code VBA serait comme ci-dessous,

Instr ("Jhon", "H") et le résultat serait 2 car la position de l'alphabet H est 2 dans la chaîne.

Maintenant, nous nous dirigeons vers les parties facultatives de la syntaxe qui sont, commencer et comparer. Le début est la position de la chaîne à partir de laquelle nous voulons commencer la recherche, tandis que la comparaison est de trois types,

  1. VbUseCompareOption: (-1) Il est utilisé pour comparer les options.
  2. VbBinaryCompare: (0) Il est utilisé pour effectuer une comparaison binaire.
  3. VbTextCompare: (1) Il est utilisé pour la comparaison textuelle.

Mais nous avons besoin d'une variable pour stocker la valeur du résultat. Comme la valeur est un entier, la variable définie doit également être un entier. Maintenant, si nous avons calculé la valeur, nous devons également afficher le résultat, nous utilisons la fonction msgbox pour afficher le résultat.

Comment utiliser la fonction Excel VBA InStr?

Nous allons apprendre à utiliser une fonction Excel VBA InStr avec quelques exemples.

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

Fonction VBA InStr - Exemple # 1

Dans l'explication ci-dessus, j'ai utilisé le mot Jhon comme chaîne et je voulais trouver la position de H dans la chaîne. Je vais écrire le code pour le même dans VBA et utiliser la fonction Instr pour trouver la position de J dans la chaîne.

Suivez les étapes ci-dessous pour utiliser la fonction InStr dans VBA.

Étape 1: Dans l' onglet Développeur, cliquez sur Visual Basic pour ouvrir l'éditeur VB.

Étape 2: Une fois le module ouvert, déclarez une sous-fonction pour commencer à écrire le code.

Code:

 Sub Compare () End Sub 

Étape 3: Maintenant que la fonction est déclarée, nous devons déclarer une variable pour stocker la position de la sous-chaîne.

Code:

 Sub Compare () Dim Pos As Integer End Sub 

Étape 4: Maintenant, nous écrivons la fonction InStr pour connaître la position de notre sous-chaîne.

Code:

 Sub Compare () Dim Pos As Integer Pos = InStr ("Jhon", "J") End Sub 

Étape 5: Pour renvoyer la position de la sous-chaîne en tant que valeur, nous utilisons la fonction MsgBox et fermons la sous-fonction.

Code:

 Sub Compare () Dim Pos As Integer Pos = InStr ("Jhon", "J") MsgBox Pos End Sub 

Étape 6: Si nous exécutons le code, il indique la position de l'alphabet J dans la chaîne.

Étape 7: Si nous changeons la sous-chaîne pour vérifier que le code fonctionne correctement, trouvons l'alphabet n dans la chaîne.

Code:

 Sub Compare () Dim Pos As Integer Pos = InStr ("Jhon", "n") MsgBox Pos End Sub 

Étape 8: Maintenant, si nous exécutons le code, nous pouvons voir la position de l'alphabet n dans la chaîne.

Fonction VBA InStr - Exemple # 2

Maintenant que nous avons vu ce que font les arguments requis de la fonction, utilisons maintenant les arguments optionnels. La chaîne est «Je suis un bon garçon mais pas un bon coureur». Nous trouverons la sous-chaîne «Good» dans la chaîne mais ignorerons le premier Good dans la phrase.

Suivez les étapes ci-dessous pour utiliser la fonction InStr dans VBA.

Étape 1: Ouvrez l'éditeur VB à partir de l'onglet des développeurs en cliquant sur Visual Basic.

Étape 2: Commencez par déclarer une sous-fonction.

Code:

 Sub Compare1 () End Sub 

Étape 3: déclarez maintenant une variable pour stocker la position de la sous-chaîne.

Code:

 Sub Compare1 () Dim Pos1 As Integer End Sub 

Étape 4: Maintenant, nous allons utiliser la fonction InStr pour trouver la position de la chaîne.

Code:

 Sub Compare1 () Dim Pos1 As Integer Pos = InStr (12, "I am a Good Boy but bot a Good Runner", "Good", vbBinaryCompare) End Sub 

Étape 5: Maintenant, nous utilisons la fonction Msgbox pour renvoyer la valeur de la chaîne.

Code:

 Sub Compare1 () Dim Pos1 As Integer Pos = InStr (12, "I am a Good Boy but bot a Good Runner", "Good", vbBinaryCompare) MsgBox Pos End Sub 

Étape 6: Maintenant, si nous exécutons le code, nous pouvons obtenir la position de la sous-chaîne.

Explication de la fonction Excel VBA Instr

La fonction InStr dans VBA est utilisée pour renvoyer la position de la valeur de la sous-chaîne dans une chaîne. Que se passe-t-il si la valeur n'est pas trouvée? Si la valeur n'est pas trouvée dans la chaîne, le résultat affiché est zéro.

Une chose dont nous devons toujours nous rappeler que la fonction Instr est sensible à la casse. Pour le prouver, nous passons à l'exemple 1 où nous avons utilisé la fonction instr pour rechercher un alphabet.

Que se passe-t-il si la sous-chaîne est «N» au lieu de «n»? laissez-nous savoir. J'ai changé la casse de l'alphabet dans la chaîne.

Maintenant, si j'exécute le code, j'obtiendrai le résultat comme indiqué ci-dessous.

Cela prouve que la fonction instr est sensible à la casse.

Choses dont il faut se rappeler

  • Les deux champs obligatoires sont String et Substring.
  • La fonction Instr est sensible à la casse.
  • La valeur de la fonction InStr est un entier.

Articles recommandés

Cela a été un guide pour la fonction VBA InStr. Ici, nous avons discuté de l'utilisation de la fonction Excel VBA InStr avec des exemples pratiques et un modèle Excel téléchargeable. Vous pouvez également consulter nos autres articles suggérés -

  1. Fonction VBA VLOOKUP
  2. Fonction SWITCH Excel
  3. Guide complet de VBA en cas d'erreur
  4. Utilisations de la barre de défilement dans Excel

Catégorie: