Fonction VBA Right (exemples) - Guide étape par étape d'Excel VBA Right

Table des matières

Fonction droite dans VBA Excel

La fonction 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 est effectuée 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 La fonction dans Excel VBA 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 fonctions de feuille de calcul pour accéder à la fonction VBA RIGHT; nous avons plutôt 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 , combien de caractères 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.

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 à partir 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" à droite, trois 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 à l'aide de la touche F5. Ensuite, 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 fournissez la longueur 6, nous obtiendrons «Clarke» en conséquence.

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

If you observe our previous two examples, we have supplied the length argument numbers manually. But this is not the right process to do the job.

In each of the string, right-side characters are different in each case. We cannot refer to the length of the characters manually for each value differently. This where the other string function “Instr” plays a vital role.

Instr function returns the supplied character position in the supplied string value. For example, Instr (1,” Bangalore,” a”) returns the position of the letter “a” in the string “Bangalore” from the first (1) character.

In this case, the result is 2 because from the first character position of the letter “a” is the 2nd position.

If I change the starting position from 1 to 3, it will return 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 each string, we can use this. Once we find the space character position, we need to minus that from the 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 the 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

Le résultat de ce code est le suivant.

Articles intéressants...