Chaîne de remplacement 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 de 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 les données d'une 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», à partir 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. Pour un exemple 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.
  • [Count]: Si la chaîne de recherche apparaît plusieurs fois dans Expression, combien de mots nous devons remplacer.

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

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

Vous pouvez télécharger ce modèle Excel de remplacement de chaîne VBA ici - Modèle Excel de remplacement de chaîne 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 en Asie"

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 «Find String», c'est-à-dire quel mot nous devons 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 «Bharath».

Ok, à partir de maintenant ignorer 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

Supposons que vous souhaitiez remplacer le mot «Inde» uniquement à partir de la deuxième position, nous devons alors utiliser le paramètre de fonction Remplacer [«Démarrer»]. Regardez le code ci-dessous pour votre information.

Code:

 Sub Replace_Example2 () 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, Start: = 34) MsgBox NewString End Sub 

Une seule chose supplémentaire que nous avons ajoutée à partir du code précédent est le paramètre «Start» en tant que 34. Maintenant, exécutez le code et voyez le résultat.

Maintenant, nous ne pouvons voir que la chaîne après le 34e caractère de la chaîne avec «Inde» remplaçant par «Bharat».

Exemple # 4

Maintenant, pour un exemple, si nous voulons remplacer uniquement la première occurrence du mot «Inde» par «Bharat», nous devons utiliser le paramètre [«Count»] de la fonction Remplacer.

Voici le code pour vous.

Code:

 Sub Replace_Example3 () 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 asiatique" FindString = "India" ReplaceString = "Bharath" NewString = Replace (MyString , FindString, ReplaceString, Count: = 1) MsgBox NewString End Sub 

Exécutez le code manuellement ou via la touche F5 et voyez le résultat.

Comme vous pouvez le voir ci-dessus, il n'a remplacé que la première occurrence du mot «Inde» par «Bharat» et la deuxième instance reste la même.

Choses à retenir ici

  • Replace is a string function family in VBA.
  • In VBA, the replace function replaces all the supplied words with replaced string if the count parameter is not specified.
  • The start parameter will delete the number of characters supplied and show the remaining result.