Fonction VBA Right

Fonction droite dans VBA Excel

La fonction de droite est la même que dans la fonction de feuille de calcul et VBA, l'utilisation de cette fonction est qu'elle nous donne la sous-chaîne d'une chaîne donnée mais la recherche se fait de droite à gauche de la chaîne, c'est un type de fonction de chaîne dans VBA utilisé avec la méthode de la fonction application.worksheet.

RIGHT Fonction dans Excel VBA qui est utilisée pour extraire des caractères du côté droit des valeurs de texte fournies. Dans Excel, nous avons de nombreuses fonctions de texte pour gérer les données textuelles. Certaines des fonctions utiles sont la fonction LEN, LEFT, RIGHT, MID pour extraire des caractères des valeurs de texte. L'exemple courant d'utilisation de ces fonctions consiste à extraire le prénom et le nom séparément du nom complet.

La formule BONNE est également présente dans la feuille de calcul. Dans VBA, nous devons nous fier à la classe de fonction de feuille de calcul pour accéder à la fonction VBA RIGHT plutôt que la fonction RIGHT intégrée dans VBA.

Jetez maintenant un œil à la syntaxe ci-dessous de la formule VBA RIGHT.

  • Chaîne: C'est notre valeur et à partir de cette valeur, nous essayons d'extraire les caractères du côté droit de la chaîne.
  • Longueur: à partir de la chaîne fournie, le nombre de caractères dont nous avons besoin. Si nous avons besoin de quatre caractères du côté droit, nous pouvons fournir l'argument comme 4.

Par exemple, si la chaîne est «Mobile Phone» et si nous voulons extraire uniquement le mot «Phone», nous pouvons fournir l'argument comme ci-dessous.

DROITE ("Téléphone portable", 5)

La raison pour laquelle j'ai mentionné 5 parce que le mot «téléphone» contient 5 lettres. Dans la section suivante de l'article, nous verrons comment nous pouvons l'utiliser en VBA.

Exemples de fonction de droite Excel VBA

Voici les exemples de Right Function VBA Excel.

Vous pouvez télécharger ce modèle Excel de fonction droite VBA ici - Modèle Excel de fonction droite VBA

Exemple 1

Je vais vous montrer un exemple simple pour démarrer la procédure. Supposons que vous ayez la chaîne «New York» et si vous souhaitez extraire 3 caractères de la droite, suivez les étapes ci-dessous pour écrire le code.

Étape 1: Déclarez la variable en tant que chaîne VBA.

Code:

 Sub Right_Example1 () Dim k As String End Sub 

Étape 2: Maintenant, pour cette variable, nous allons attribuer la valeur en appliquant la fonction DROITE.

Code:

 Sub Right_Example1 () Dim k As String k = Right (End Sub 

Étape 3: Le premier  argument est String et notre chaîne pour cet exemple est «New York».

Code:

 Sub Right_Example1 () Dim k As String k = Right ("New York", End Sub 

Étape 4: Ensuite, il y a le nombre de caractères dont nous avons besoin dans la chaîne fournie. Dans cet exemple, nous avons besoin de 3 caractères.

Code:

 Sub Right_Example1 () Dim k As String k = Right ("New York", 3) End Sub 

Étape 5: Nous avons 2 arguments à traiter, nous avons donc terminé. Attribuez maintenant la valeur de cette variable dans la boîte de message dans VBA.

Code:

 Sub Right_Example1 () Dim k As String k = Right ("New York", 3) MsgBox k End Sub 

Exécutez le code à l'aide de la touche F5 ou manuellement et voyez le résultat dans une boîte de message.

Dans le mot «New York» du côté droit, 3 caractères sont «ork».

Maintenant, je vais changer la longueur de 3 à 4 pour obtenir la valeur totale.

Code:

 Sub Right_Example1 () Dim k As String k = Right ("New York", 4) MsgBox k End Sub 

Exécutez ce code manuellement ou en utilisant la touche F5 puis, nous obtiendrons «York».

Exemple # 2

Jetez maintenant un œil à un autre exemple, cette fois considérez la valeur de la chaîne comme «Michael Clarke».

Si vous indiquez la longueur 6, nous obtiendrons «Clarke» comme résultat.

Code:

 Sub Right_Example1 () Dim k As String k = Right ("Michael Clarke", 6) MsgBox k End Sub 

Exécutez ce code à l'aide de la touche F5 ou manuellement pour voir le résultat.

Fonction de droite dynamique dans Excel VBA

Si vous observez nos deux exemples précédents, nous avons fourni les numéros d'argument de longueur manuellement. Mais ce n'est pas le bon processus pour faire le travail.

Dans chacune des chaînes, les caractères de droite sont différents dans chaque cas. Nous ne pouvons pas faire référence à la longueur des caractères manuellement pour chaque valeur différemment. C'est là que l'autre fonction de chaîne «Instr» joue un rôle essentiel.

La fonction Instr renvoie la position de caractère fournie dans la valeur de chaîne fournie. Par exemple, Instr (1, «Bangalore», «a») renvoie la position de la lettre «a» dans la chaîne «Bangalore» à partir du premier (1) caractère.

Dans ce cas, le résultat est 2 car à partir de la position du premier caractère de la lettre «a» est la 2ème position.

Si je change la position de départ de 1 à 3, il reviendra 5.

Instr (3, «Bangalore», «a») .

The reason why it returns 5 because I mentioned the starting position to look for the letter “a” only from the 3rd letter. So the position of the second appeared “a” is 5.

So, to find the space character of the of each string we can use this. Once we find the space character position we need to minus that from a total length of the string by using LEN.

For example in the string “New York” the total number of characters is 8 including space, and the position of the space character is 4th. So 8-4 = 4 right will extract 4 characters from the right.

Now, look at the below code for your reference.

Code:

 Sub Right_Example3() Dim k As String Dim L As String Dim S As String L = Len("Michael Clarke") S = InStr(1, "Michael Clarke", " ") k = Right("Michael Clarke", L - S) MsgBox k End Sub 

In the above code variable “L” will return 14 and variable “S” will return 8.

In the VBA right formula, I have applied L – S i.e. 14-8 = 6. So from right side 6 characters i.e. “Clarke”.

Loops with Right Function in Excel VBA

When we need to apply the VBA RIGHT function with many cells we need to include this inside the loops. For example, look at the below image.

We cannot apply many lines of the code to extract a string from the right side. So we need to include loops. The below code will do it for the above data.

Code:

 Sub Right_Example4() Dim k As String Dim L As String Dim S As String Dim a As Integer For a = 2 To 5 L = Len(Cells(a, 1).Value) S = InStr(1, Cells(a, 1).Value, " ") Cells(a, 2).Value = Right(Cells(a, 1), L - S) Next a End Sub 

The result of this code is as follows.