Fonction de remplacement VBA - Remplacer la chaîne

Table des matières

Ce didacticiel montrera comment utiliser la fonction Remplacer VBA pour remplacer des chaînes de texte.

Remplacer la fonction

La fonction VBA Replace renvoie une chaîne, avec des substitutions effectuées. Avec l'utilisation de paramètres facultatifs, la nouvelle chaîne peut commencer à la position spécifiée par start et se terminer à la fin de la chaîne d'origine.

VBA Remplacer Remplacer une sous-chaîne

La fonction VBA Replace peut être utilisée pour remplacer toute sous-chaîne trouvée, dans chaque partie qu'elle trouve.

12345678910111213141516 Sub ReplaceExample_1()MsgBox Remplacer("ABCABCABC", "A", "!")'Le résultat est : "!BC!BC!BC"MsgBox Replace("J'aime le rose, le rouge et le noir", "rose", "violet")'Le résultat est : "J'aime le violet, le rouge et le noir"MsgBox Replace("A, B, C, A, B, C, A, B, C", ", ", ",")'Le résultat est : "ABCABCABC"MsgBox Remplacer("ABCABCABC", "ABC", "!")« Le résultat est : " !!! »MsgBox Remplacer("ABCABCABC", "ABc", "!")'Le résultat est : "ABCABCABC"MsgBox Remplacer("ABCABCABC", "ZBC", "!")'Le résultat est : "ABCABCABC"Fin du sous-marin

VBA Remplacer la position de départ

La fonction VBA Replace peut être utilisée pour remplacer toute sous-chaîne trouvée, dans chaque partie qu'elle trouve. Si nous attribuons une position de départ, le résultat serait la partie de la chaîne d'origine après ce point de départ.

12345678910111213 Sub ReplaceExample_2()MsgBox Replace("ABCABCABC", "A", "123") 'Le résultat est : "123BC123BC123BC"MsgBox Replace("ABCABCABC", "A", "123", 2) 'Le résultat est : "BC123BC123BC"MsgBox Replace("ABCABCABC", "A", "123", 7) 'Le résultat est : "123BC"MsgBox Replace("ABCABCABC", "A", "123", 8) 'Le résultat est : "BC"MsgBox Replace("ABCABCABC", "ABC", "!@") 'Le résultat est : "!@!@!@"MsgBox Replace("ABCABCABC", "ABC", "!@", 2) 'Le résultat est : "BC!@!@"MsgBox Replace("ABCABCABC", "ABC", "!@", 6) 'Le résultat est : "C!@"MsgBox Replace("ABCABCABC", "ABC", "!@", 7) 'Le résultat est : "!@"MsgBox Replace("ABCABCABC", "ABC", "!@", 8) 'Le résultat est : "BC"Fin du sous-marin

VBA ne remplace que quelques occurrences

La fonction VBA Replace peut être utilisée pour remplacer toute sous-chaîne trouvée, dans chaque partie qu'elle trouve. Nous pouvons éventuellement décider combien d'occurrences doivent être substituées.

123456789101112 Sub ReplaceExample_3()MsgBox Replace("ABCABCABC", "A", "12") 'Le résultat est : "12BC12BC12BC"MsgBox Replace("ABCABCABC", "A", "12", , 1) 'Le résultat est : "12BCABCABC"MsgBox Replace("ABCABCABC", "A", "12", , 2) 'Le résultat est : "12BC12BCABC"MsgBox Replace("ABCABCABC", "A", "12", , 3) ​​'Le résultat est : "12BC12BC12BC"MsgBox Replace("ABCABCABC", "A", "12", , 5) 'Le résultat est : "12BC12BC12BC"MsgBox Remplacer("ABCABCABC", "A", "12", 3, 1)'Le résultat est : "C12BCABC"« Nous avons remplacé A par 12, 1 fois à partir de la position 3 de la chaîne d'origine.Fin du sous-marin

VBA Remplacer la sensibilité à la casse

La fonction de remplacement VBA par défaut est sensible à la casse. Vous pouvez modifier ce comportement en insensible à la casse à l'aide d'un paramètre facultatif (vbTextComparer). Dans ce cas, vous devez également définir la position de départ de la recherche.

12345678910111213 Sub ReplaceExample_4()MsgBox Remplacer("ABcABCABc", "ABc", "12")'Le résultat est : "12ABC12"MsgBox Replace("ABcABCABc", "ABc", "12", , , vbTextComparer)'Le résultat est : "121212"'Lorsque nous utilisons vbTextCompare, nous devons ajouter les 2 autres arguments facultatifs :'commencer et compterMsgBox Remplacer("ABcABCABcABc", "ABc", "12", 3, 1)'Le résultat est : "cABC12ABc"'A commencé à partir de la position 3 et n'a remplacé ABC qu'une seule fois.Fin du sous-marin

Vous pouvez également effectuer un remplacement insensible à la casse, en ajoutant Option Compare Text en haut de votre module :

1 Option Comparer le texte

VBA remplacer les guillemets doubles

La fonction VBA Replace peut remplacer les guillemets doubles utilisés pour délimiter le début et la fin d'une chaîne.

La fonction VBA Chr peut renvoyer un caractère à partir de son numéro dans le jeu de caractères.

1 MsgBox Chr(34) 'Le résultat est : "

Ou

1 MsgBox Chr(64) 'Le résultat est : @

Les guillemets doubles peuvent être utilisés dans la fonction VBA Replace en utilisant """" ou la fonction VBA Chr(34).

12345678910111213 Sub ReplaceExample_5()Dim StrEx en tant que chaîneStrEx = "AB""AB"""MsgBox StrEx 'Le résultat est : AB"AB"MsgBox Remplacer (StrEx, Chr(34), "12")'Le résultat est : AB12AB12MsgBox Remplacer (StrEx, """", "DQ")'Le résultat est : "ABDQABDQ"Fin du sous-marin

VBA Remplacer la ligne de rupture dans la cellule

La fonction de remplacement de VBA peut rechercher le caractère spécial de la ligne de rupture dans une cellule et le supprimer ou le remplacer par un espace. Le caractère spécial de la ligne de rupture peut être saisi dans une cellule à l'aide du raccourci clavier Alt+Entrée et peut être utilisé dans le code VBA avec son numéro de jeu de caractères à l'aide de la fonction VBA Chr(10).

1234567891011121314 Sub ReplaceExample_6()Dim StrEx As String 'Définir une variable de chaîne'Lire la valeur de la cellule A2 dans la feuille de calcul Sheet1StrEx = ThisWorkbook.Worksheets("Sheet1").Range("A2").Value'Le caractère de ligne de rupture saisi avec Alt+Entrée est Chr(10) et est invisible.'Cette ligne de code remplace ce caractère par un espaceStrEx = Remplacer(StrEx, Chr(10), " ")'Écrire la valeur remplacée dans la cellule B2 de la feuille de calcul Sheet1ThisWorkbook.Worksheets("Sheet1").Range("B2").Value = StrExFin du sous-marin

Vous contribuerez au développement du site, partager la page avec vos amis

wave wave wave wave wave