Chaîne de remplacement VBA - Comment remplacer du texte dans une chaîne à l'aide de VBA?

Chaîne de remplacement Excel VBA

Remplacer est à la fois une fonction de feuille de calcul et une fonction VBA. Cette fonction nous aide à remplacer le mot particulier de la chaîne par une autre chaîne. Cela fonctionne de manière similaire à la fonction de remplacement dans VBA.

Tout en traitant des valeurs de chaîne de test ou de données texte, il est évident de remplacer ou de remplacer quelque chose par autre chose, en joignant deux données de cellule en une seule ou en divisant une donnée de cellule en plusieurs choses. Ce sont toutes des tâches courantes que nous accomplissons quotidiennement sur notre lieu de travail.

Alors, comment remplacer un mot dans la chaîne par un autre mot? Par exemple, si la chaîne est "L'Inde est un pays en développement et l'Inde dans le pays asiatique" de cette chaîne, nous devons remplacer le mot "Inde" et remplacé par "Bharat".

Ceci est possible en utilisant la fonction Remplacer. Dans cet article, nous allons vous montrer comment remplacer des chaînes dans le codage VBA.

Remplacer la fonction

  • Expression: ce n'est rien d'autre que la valeur de chaîne d'origine à partir de laquelle nous essayons de remplacer quelque chose par quelque chose. Par exemple, vous trouverez ci-dessous la chaîne d’expression «L’Inde est un pays en développement et l’Inde dans le pays asiatique».
  • Find String: Quelle est la chaîne que nous essayons de remplacer. Par exemple, dans la chaîne Expression , nous essayons de remplacer le mot "Inde".
  • Remplacer la chaîne: Quelle est la chaîne de remplacement par laquelle nous remplaçons la chaîne de recherche? Donc, dans ce cas, nous essayons de remplacer le mot «Inde» par «Bharat».
  • (Début): il s'agit d'un paramètre facultatif. Dans la chaîne ci-dessus (Expression), nous avons deux mots, «Inde», donc à partir de quelle position de la chaîne de recherche, nous devons démarrer le processus de remplacement. Par exemple, si nous disons 2, il commencera à remplacer le mot «Inde» à partir de la deuxième position.
  • (Nombre): si la chaîne de recherche apparaît plusieurs fois dans Expression, alors combien de mots nous devons remplacer.

Par exemple, si le mot «Inde» apparaît 5 fois et si vous indiquez le nombre de 3, il remplacera uniquement les 3 premiers mots «Inde».

Comment remplacer du texte dans une chaîne à l'aide de VBA?

Exemple 1

Nous allons maintenant essayer de remplacer le mot «Inde» par «Bharat» à partir de la valeur de chaîne ci-dessous.

"L'Inde est un pays en développement et l'Inde dans le pays asiatique."

Commencez par lancer la procédure de macro Excel maintenant.

Code:

Sub Replace_Example () End Sub

Définissez la variable VBA comme String.

Code:

Sub Replace_Example () Dim NewString As String End Sub

Dans cette variable, nous afficherons une nouvelle valeur de chaîne après avoir remplacé le mot «Inde» par «Bharat». Pour cette variable, ouvrez la fonction Remplacer.

Le premier argument de cette fonction est "Expression", c'est-à-dire de quelle chaîne nous essayons de remplacer un mot, alors copiez et collez la chaîne "L'Inde est un pays en développement et l'Inde dans le pays asiatique".

L'argument suivant est "Rechercher une chaîne", c'est-à-dire le mot à remplacer, c'est-à-dire "Inde".

L'argument suivant est "Remplacer la chaîne", c'est-à-dire avec quelle chaîne nous devons remplacer le mot "Inde", c'est-à-dire "Bharat".

Ok, à partir de maintenant, ignorez les arguments restants. Maintenant, affichez le résultat dans la boîte de message.

Code:

Sub Replace_Example () Dim NewString As String NewString = Replace ("L'Inde est un pays en développement et l'Inde est le pays d'Asie", "Inde", "Bharath") MsgBox NewString End Sub

Exécutons le code à l'aide de la touche F5 ou manuellement et voyons le nouveau résultat de la chaîne.

Ok, regardez le résultat ci-dessus. Partout où nous avons eu le mot «Inde», il a été remplacé par le mot «Bharat».

Exemple # 2

Nous allons maintenant voir comment utiliser le même code avec des variables. Regardez le code ci-dessous.

Code:

Sub Replace_Example1 () Dim NewString As String Dim MyString As String Dim FindString As String Dim ReplaceString As String MyString = "L'Inde est un pays en développement et l'Inde est le pays d'Asie" FindString = "India" ReplaceString = "Bharath" NewString = Replace (MyString , FindString, ReplaceString) MsgBox NewString End Sub

Dans le code ci-dessus, j'ai déclaré trois variables supplémentaires.

Dim MyString As String Dim FindString As String Dim ReplaceString As String

Pour ces variables, j'ai attribué des valeurs. Au lieu de fournir la chaîne d'expression, la chaîne de recherche et la chaîne de remplacement, nous fournirons uniquement une variable à la fonction Remplacer.

Ce code donne également le même résultat, mais la seule différence est que nous avons utilisé des variables au lieu de fournir directement des valeurs à la fonction.

Exemple # 3

Assume you want to replace the word “India” only from the second position, then we need to use the Replace function parameter (“Start”). Look at the below code for your information.

Code:

Sub Replace_Example2() Dim NewString As String Dim MyString As String Dim FindString As String Dim ReplaceString As String MyString = "India is a developing country and India is the Asian Country" FindString = "India" ReplaceString = "Bharath" NewString = Replace(MyString, FindString, ReplaceString, Start:=34) MsgBox NewString End Sub

Only one extra thing we have added from the previous code is the “Start” parameter as 34. Now run the code and see the result.

Now we can see only string after the 34th character of the string with “India” replacing with “Bharath.”

Example #4

Now for an example, if we want to replace only the first occurrence of the word “India” with “Bharath,” then we need to use the (“Count”) parameter of the Replace function.

Below is the code for you.

Code:

Sub Replace_Example3() Dim NewString As String Dim MyString As String Dim FindString As String Dim ReplaceString As String MyString = "India is a developing country and India is the Asian Country" FindString = "India" ReplaceString = "Bharath" NewString = Replace(MyString, FindString, ReplaceString, Count:=1) MsgBox NewString End Sub

Run the code manually or through the F5 key and see the result.

As you can see above, it has replaced only the first occurrence of the word “India” to “Bharath,” and the second instance remains the same.

Things to Remember Here

  • Replace est une famille de fonctions de chaîne dans VBA.
  • Dans VBA, la fonction de remplacement remplace tous les mots fournis par une chaîne remplacée si le paramètre count n'est pas spécifié.
  • Le paramètre start supprimera le nombre de caractères fournis et affichera le résultat restant.

Articles intéressants...