Fonction de remplacement Excel VBA

Comme dans Excel, nous avons une fonction où nous pouvons trouver et remplacer n'importe quel mot ou caractère ou phrase par n'importe quelle lettre. Mais par ce processus, nous ne pouvons remplacer qu'un seul type de phrase ou de lettre à la fois. Avec l'aide de la fonction de remplacement VBA, nous pouvons remplacer autant de mots ou de lettres ou de phrases en une seule fois. Cela permet d'économiser énormément de temps et d'efforts pour effectuer plusieurs fois une seule activité. Pour cela, nous utiliserons la fonction Remplacer qui se trouve dans la liste des fonctions VBA intégrée.

Ci-dessous la syntaxe et l'argument de la fonction Replace dans VBA.

Comment utiliser la fonction de remplacement d'Excel VBA?

Nous allons apprendre à utiliser une fonction VBA Replace Excel avec quelques exemples.

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

Fonction de remplacement VBA - Exemple # 1

Nous avons un exemple de données de quelques phrases où nous remplacerons un mot et collerons cette phrase mise à jour dans la colonne de la phrase B.

Suivez les étapes ci-dessous pour utiliser la fonction Remplacer dans Excel VBA.

Étape 1: Accédez à VBA et dans l'onglet de menu Insertion, sélectionnez Module.

Étape 2: Maintenant, écrivez la sous-catégorie au nom d'une fonction exécutée ou dans n'importe quel nom selon votre choix, comme indiqué ci-dessous.

Code:

 Sub VBA_Replace2 () End Sub 

Étape 3: Maintenant, définissez une dimension comme longue, car nous allons sélectionner une phrase complète. Ici, nous l'avons pris comme X.

Code:

 Sub VBA_Replace2 () Dim X As Sub à extrémité longue 

Étape 4: Maintenant, dans ce Long X, sélectionnez la plage maximale jusqu'à laquelle nos données pourraient monter. Ici, nous avons pris comme plage de cellules A1000 et pour remonter jusqu'à ce que nos données commencent, utilisez End (xlUp) suivi d'une ligne point (.). Ce qui signifie que nous allons monter dans la même colonne jusqu'à la ligne contenant les données. Ce processus dans la vie Ctrl + flèche vers le haut dans Excel.

Code:

 Sub VBA_Replace2 () Dim X As Long X = Range ("A1000"). End (xlUp) .Row End Sub 

Remarque : Nous pouvons sélectionner parmi Fin (xlDown) mais il ne peut pas ajouter de rupture ou de cellule vide entre les données si les données ont.

Étape 5: Définissez à nouveau une dimension Y de plus comme indiqué ci-dessous.

Code:

 Sub VBA_Replace2 () Dim X As Long X = Range ("A1000"). End (xlUp) .Row Dim Y As Long End Sub 

Étape 6: Maintenant, lancez une boucle For Next pour la deuxième dimension définie Y de la position de cellule 2 à la plage X (dernière cellule remplie)

Remarque: La sélection de la cellule 2 signifie que nous ne considérons pas l'en-tête ici pour le remplacer.

Code:

 Sub VBA_Replace2 () Dim X As Long X = Range ("A1000"). End (xlUp) .Row Dim Y As Long For Y = 2 To X Next Y End Sub 

Étape 7: Sélectionnez maintenant la valeur de la colonne B en tant que plage Y suivie d'un point (.), C'est comme insérer une fonction dans Excel.

Code:

 Sub VBA_Replace2 () Dim X As Long X = Range ("A1000"). End (xlUp) .Row Dim Y As Long For Y = 2 To X Range ("B" & Y) .Value = Next Y End Sub 

Étape 8: Maintenant, comme nous l'avons vu dans la syntaxe VBA de la fonction Remplacer ci-dessus, tapez maintenant Remplacer et sélectionnez la colonne A et Y comme première expression de chaîne suivie des mots que nous devons remplacer dans le tableau.

Code:

 Sub VBA_Replace2 () Dim X As Long X = Range ("A1000"). End (xlUp) .Row Dim Y As Long For Y = 2 To X Range ("B" & Y) .Value = Replace (Range ("A "& Y), " Delhi ", " New Delhi ") Next Y End Sub 

Étape 9: compilez maintenant le code complet et exécutez. Une fois que nous aurons fait cela, le mot «Delhi» de la phrase A est maintenant remplacé par le travail «New Delhi» et la phrase entière est copiée dans la phrase B.

Nous pouvons sélectionner une chaîne de mots ou une phrase et la remplacer par toutes les lettres ou phrases requises.

Fonction de remplacement VBA - Exemple # 2

Il existe une autre façon de remplacer des mots ou des phrases à l'aide du codage VBA. Pour cela, nous avons une liste de 7 sujets qui se répètent. Et nous devons remplacer ces noms de sujet en ajoutant des numéros de série avant chaque nom de sujet, comme indiqué ci-dessous.

Comme nous pouvons le voir dans la capture d'écran ci-dessus, la colonne E a des noms uniques des sujets qui sont là dans la colonne B et la colonne F a les noms des sujets avec un numéro de série au début.

Suivez les étapes ci-dessous pour utiliser la fonction Remplacer dans VBA.

Étape 1: Maintenant, allez dans VBA et dans le menu Insertion, ajoutez un nouveau module. Une fois que nous l'obtenons, commencez à écrire la sous-catégorie au nom d'une fonction qui est exécutée comme indiqué ci-dessous.

Code:

 Sub VBA_Replace () End Sub 

Étape 2: Considérez maintenant une dimension Rng comme plage, InputRng comme plage et ReplaceRng comme plage. Vous pouvez choisir d'autres lettres ou mots pour définir des plages.

Code:

 Sub VBA_Replace () Dim Rng As Range Dim InputRng As Range, ReplaceRng As Range End Sub 

Étape 3: Utilisez maintenant xTitleId comme boîte de dialogue et donnez-lui un nom. Ici, nous l'avons nommé « VBA_Replace ».

Code:

 Sub VBA_Replace () Dim Rng As Range Dim InputRng As Range, ReplaceRng As Range xTitleId = "VBA_Replace" End Sub 

Étape 4: Attribuez maintenant Application.Selection avec InputRng, cela permettra à l'application sélectionnée d'être utilisée dans VBA.

Code:

 Sub VBA_Replace () Dim Rng As Range Dim InputRng As Range, ReplaceRng As Range xTitleId = "VBA_Replace" Set InputRng = Application.Selection End Sub 

Étape 5: Maintenant, dans la ligne suivante, insérez un InputBox de 3 types, Original range, xTitleId et InputRng. La plage d'origine est une liste de ces sujets qui sont nécessaires pour être remplacés, répertoriés dans la colonne B. xTitledId est les noms de boîte de dialogue dans la fonction exécutée. Et InputRng est une plage de tableaux de données dans les colonnes E et F.

Code:

 Sub VBA_Replace () Dim Rng As Range Dim InputRng As Range, ReplaceRng As Range xTitleId = "VBA_Replace" Set InputRng = Application.Selection Set InputRng = Application.InputBox ("Original Range", xTitleId, InputRng.Address, Type: = 8) End Sub 

Étape 6: Maintenant, dans la ligne suivante, attribuez une entrée pour ReplaceRng et pour cela, sélectionnez la colonne Remplacer la plage. Reste de la même chose.

Code:

 Sub VBA_Replace () Dim Rng As Range Dim InputRng As Range, ReplaceRng As Range xTitleId = "VBA_Replace" Set InputRng = Application.Selection Set InputRng = Application.InputBox ("Original Range", xTitleId, InputRng.Address, Type: = 8) Définissez ReplaceRng = Application.InputBox ("Remplacer la plage:", xTitleId, Type: = 8) End Sub 

Étape 7: Maintenant, nous allons utiliser la fonction Application.Screenupdating, comme son nom l'indique, elle est utilisée pour la mise à jour si elle est FAUX.

Code:

 Sub VBA_Replace () Dim Rng As Range Dim InputRng As Range, ReplaceRng As Range xTitleId = "VBA_Replace" Set InputRng = Application.Selection Set InputRng = Application.InputBox ("Original Range", xTitleId, InputRng.Address, Type: = 8) Définissez ReplaceRng = Application.InputBox ("Remplacer la plage:", xTitleId, Type: = 8) Application.ScreenUpdating = False End Sub 

Étape 8: Insérez maintenant une boucle For-Next . Et pour chaque plage Rng, remplacez les valeurs de la colonne ReplaceRng.

Code:

 Sub VBA_Replace () Dim Rng As Range Dim InputRng As Range, ReplaceRng As Range xTitleId = "VBA_Replace" Set InputRng = Application.Selection Set InputRng = Application.InputBox ("Original Range", xTitleId, InputRng.Address, Type: = 8) Définissez ReplaceRng = Application.InputBox ("Remplacer plage:", xTitleId, Type: = 8) Application.ScreenUpdating = False pour chaque Rng dans ReplaceRng.Columns (1) .Cells Next End Sub 

Étape 9: Remplacez enfin InputRng par les valeurs présentes dans Rng de la feuille entière.

Code:

 Sub VBA_Replace () Dim Rng As Range Dim InputRng As Range, ReplaceRng As Range xTitleId = "VBA_Replace" Set InputRng = Application.Selection Set InputRng = Application.InputBox ("Original Range", xTitleId, InputRng.Address, Type: = 8) Définissez ReplaceRng = Application.InputBox ("Remplacer la plage:", xTitleId, Type: = 8) Application.ScreenUpdating = False pour chaque Rng dans ReplaceRng.Columns (1) .Cells InputRng.Replace what: = Rng.Value, replacement: = Rng.Offset (0, 1) .Value, Lookat: = xlWhole Next End Sub 

Étape 10: Une fois terminé, compilez et exécutez maintenant le code. Nous obtiendrons une boîte de dialogue au nom de VBA_Replace. De là, sélectionnez la liste des sujets que nous devons remplacer comme gamme d'origine et cliquez sur OK. Ensuite, nous obtiendrons une autre boîte à partir de là, sélectionnez la plage de remplacement de E2 à F8 . Ce tableau contient les données qui doivent être remplacées et cliquez sur OK.

Nous obtiendrons les données dans la colonne B qui seront remplacées à partir des données de la colonne F par le numéro de série.

Pour un aperçu, la colonne E a des noms de sujet uniques. Et la colonne F a des noms de sujets avec des numéros de série. Ainsi, ces données de la colonne B sont remplacées par des données de la colonne F.

Avantages de la fonction de remplacement VBA

  • Nous pouvons remplacer plusieurs mots ou phrases en un seul coup.
  • Il n'y a pas de limite de mots ou de texte avec lesquels nous ne pouvons pas remplacer.
  • La syntaxe de remplacement dans VBA est aussi simple que d'utiliser la fonction SumIf dans Excel.
  • VBA Replace, comme indiqué dans l'exemple-1, est le moyen le plus simple d'appliquer.

Choses dont il faut se rappeler

  • Enregistrez sous Excel activé par Marco pour éviter de perdre du code écrit dans VBA.
  • Considérez toujours les dimensions de manière à créer une valeur ajoutée pendant que nous les sélectionnons dans le code.
  • Assurez-vous de sélectionner toute la plage de feuilles comme indiqué dans l'exemple-2 si elle est limitée pour obtenir le résultat. Sinon, vous pouvez définir et sélectionner une plage de cellules limitée qui serait utilisée sous la fonction Remplacer.

Articles recommandés

Cela a été un guide pour la fonction de remplacement VBA. Ici, nous avons discuté du remplacement VBA et de la façon d'utiliser la fonction de remplacement VBA Excel ainsi que des exemples pratiques et un modèle Excel téléchargeable. Vous pouvez également consulter nos autres articles suggérés -

  1. Tutoriels complets sur les boucles VBA
  2. Comment utiliser VBA Do While Loop?
  3. Qu'est-ce que le format de nombre VBA?
  4. Comment créer VBA MsgBox?

Catégorie: