Excel VBA: Tekst in een string vervangen (5 effectieve manieren)

  • Deel Dit
Hugh West

Als u manieren zoekt om tekst in een string vervangen met behulp van Excel VBA Het vervangen van een bepaald tekstdeel kan veel tijd besparen bij het opnieuw typen van de tekststrings. Laten we dus in het hoofdartikel duiken om de details over deze vervangingstaak te weten te komen.

Werkboek downloaden

Tekst vervangen in String.xlsm

5 manieren om tekst in een string te vervangen met Excel VBA

Hier hebben we de volgende dataset met een aantal records van de werknemers met hun e-mailadressen. Onze taak is het vervangen van de oude domeinnamen door de nieuwe. In de volgende methoden zullen we werken met deze dataset samen met een aantal willekeurige tekststrings om de gewenste tekst te vervangen door VBA codes.

Wij hebben gebruik gemaakt van Microsoft Excel 365 versie hier, u kunt elke andere versie gebruiken volgens uw gemak.

Methode-01: Tekst vervangen vanaf de n-de positie van een willekeurige string

Hier vervangen we tekst in een willekeurige tekststring voor verschillende beginposities.

Step-01 :

Ga naar de Ontwikkelaar Tab>> Code Groep>> Visual Basic Optie.

Dan, de Visual Basic-editor gaat open.

Ga naar de Plaats Tab>> Module Optie.

Daarna, een Module zal worden gecreëerd.

Step-02 :

➤ Schrijf de volgende code

 Sub Substitution_of_text_1() Dim full_txt_str, updated_str As String full_txt_str = "Hundred Cars Fifty Cars Ten Cars" updated_str = Replace(full_txt_str, "Cars", "Bicycles", 1) MsgBox updated_str End Sub 

Hier hebben we verklaard volledig_tekst_str en bijgewerkt_str als String en dan toegewezen aan volledig_tekst_str naar een willekeurige tekststring- "Honderd auto's Vijftig auto's Tien auto's" Dan de VBA VERVANGEN functie wordt gebruikt om de Auto's deel van deze willekeurige string met Fietsen en 1 wordt hier gebruikt om de vervanging te starten vanaf positie 1 van deze string. Tenslotte hebben we deze nieuwe tekststring toegewezen aan bijgewerkt_str en met een berichtvenster ( MsgBox ) zullen we het resultaat zien.

Druk F5 .

Dan een berichtvak verschijnt de nieuwe tekststring met de vervangen tekst Fietsen .

➤ Om het vervangingsproces uit te voeren vanaf de tweede instantie van Auto's gebruik de volgende code.

 Sub Substitution_of_text_1() Dim full_txt_str, updated_str As String full_txt_str = "Hundred Cars Fifty Cars Ten Cars" updated_str = Replace(full_txt_str, "Cars", "Bicycles", 14) MsgBox updated_str End Sub 

Hier hebben wij de uitgangspositie gebruikt als 14 omdat we het deel van de string na Honderd auto's en vervang de Auto's hier.

Na hardlopen de code, hebben we het volgende berichtvak met de tekststring uitgaande van de tekst Vijftig en met Fietsen in de positie van Auto's .

➤ Om alleen het laatste deel van deze string te hebben, passen we de volgende code toe.

 Sub Substitution_of_text_1() Dim full_txt_str, updated_str As String full_txt_str = "Honderd Auto's Vijftig Auto's Tien Auto's" updated_str = Replace(full_txt_str, "Auto's", "Fietsen", 25) MsgBox updated_str End Sub 

Hier hebben wij de uitgangspositie gebruikt als 25 omdat we het deel van de string na Vijftig auto's en vervang de Auto's met Fietsen hier.

Tot slot zullen we een berichtvak met ons gewenste deel van de string met de vervanging door Fietsen .

Lees meer: Excel VBA: Teken in tekenreeks vervangen door positie (4 effectieve manieren)

Methode-02: Tekst vervangen voor n-de voorkomen van een willekeurige string met Excel VBA

In dit deel zullen we een tekst vervangen in een willekeurige string voor verschillende aantallen voorkomens met behulp van een VBA code.

Stappen :

Volg Step-01 van Methode-1 .

➤ Type de volgende code.

 Sub Substitution_of_text_2() Dim full_txt_str, updated_str As String full_txt_str = "Hundred Cars Fifty Cars Ten Cars" updated_str = Replace(full_txt_str, "Cars", "Bicycles", 1, 1) MsgBox updated_str End Sub 

Hier hebben we verklaard volledig_tekst_str en bijgewerkt_str als String en dan toegewezen aan volledig_tekst_str naar een willekeurige tekststring- "Honderd auto's Vijftig auto's Tien auto's" Daarna, de VERVANGEN functie wordt gebruikt om de Auto's deel van deze willekeurige string met Fietsen , 1 wordt hier gebruikt om de vervanging te starten vanaf positie 1 van deze string, en de uiteindelijke 1 is voor het tellen van het aantal voorvallen. Door het gebruik van 1 als telgetal definiëren we de vervanging van de eerste Auto's alleen. Tot slot hebben we deze nieuwe tekststring toegewezen aan bijgewerkt_str en met een berichtvenster ( MsgBox ) zullen we het resultaat zien.

Druk F5 .

Daarna, een berichtvak zal verschijnen met de nieuwe tekst Fietsen in de eerste plaats van Auto's alleen.

Voor het vervangen van de eerste twee instanties van Auto's met Fietsen gebruik de volgende code.

 Sub Substitution_of_text_2() Dim full_txt_str, updated_str As String full_txt_str = "Hundred Cars Fifty Cars Ten Cars" updated_str = Replace(full_txt_str, "Cars", "Bicycles", 1, 2) MsgBox updated_str End Sub 

Hier, 2 wordt gebruikt als telgetal om de eerste twee instanties van Auto's met Fietsen .

Na het uitvoeren van de code krijgt u de vervanging van de eerste twee teksten Auto's met Fietsen .

➤ Pas de volgende code toe om alle gevallen van de tekst te vervangen Auto's .

 Sub Substitution_of_text_2() Dim full_txt_str, updated_str As String full_txt_str = "Hundred Cars Fifty Cars Ten Cars" updated_str = Replace(full_txt_str, "Cars", "Bicycles", 1, 3) MsgBox updated_str End Sub 

Hier is het laatste argument van de VERVANGEN functie is 3 wat het telgetal is dat de vervanging van alle Auto's met Fietsen in de tekststring.

Druk F5 .

Daarna hebben we het volgende berichtvak met de vervangen tekst Fietsen in de string.

Vergelijkbare lezingen

  • Tekst vervangen door Carriage Return in Excel (4 soepele benaderingen)
  • Excel VBA: Tekst zoeken en vervangen in een Word-document
  • Hoe tekst te vervangen na een specifiek teken in Excel (3 methoden)
  • Tekst van een cel vervangen op basis van voorwaarde in Excel (5 eenvoudige methoden)

Methode-03: Tekst in een willekeurige string vervangen met InputBox

Hier zullen we een bepaalde tekst van een willekeurige string vervangen door een tekst die door een gebruiker wordt gedefinieerd met behulp van de VBA InputBox-functie .

Stappen :

Volg Step-01 van Methode-1 .

➤ Type de volgende code.

 Sub substitutie_van_tekst_3() Dim full_txt_str, new_txt, updated_str As String full_txt_str = "Honderd auto's Vijftig auto's Tien auto's" new_txt = InputBox("Schrijf de nieuwe tekst op die vervangen moet worden") updated_str = Replace(full_txt_str, "Cars", new_txt) MsgBox updated_str End Sub 

Hier hebben we verklaard volledig_tekst_str , nieuwe_tekst en bijgewerkt_str als String en dan toegewezen aan volledig_tekst_str naar een willekeurige tekststring- "Honderd auto's Vijftig auto's Tien auto's" Om de door de gebruiker gedefinieerde invoer als de tekst te laten vervangen door de Auto's in de willekeurige string, hebben we de Functie InputBox en vervolgens deze waarde toegewezen aan nieuwe_tekst Dan de VERVANGEN functie wordt gebruikt om de Auto's deel van deze willekeurige string met nieuwe_tekst Tenslotte hebben we deze nieuwe tekststring toegewezen aan bijgewerkt_str en met een berichtvenster ( MsgBox ) zullen we het resultaat zien.

Druk F5 .

Daarna, een Invoervak verschijnt waar u elk gewenst tekstdeel in de nieuwe string kunt invoeren.

Type Fietsen of een andere gewenste tekst en druk dan op OK .

Uiteindelijk krijgt u het volgende resultaat met de nieuwe tekststring met nieuwe tekst Fietsen in de positie van Auto's .

Lees meer: Hoe tekst in een Excel-formule te vervangen (7 eenvoudige manieren)

Methode-04: Tekst in een reeks strings vervangen met Excel VBA

Hier vervangen we de gmail deel van de e-mail id's met de domeinen in de Nieuw domein kolom, en om de nieuwe e-mailadressen te verzamelen hebben we een nieuwe kolom ingevoegd; Definitieve e-mailadressen .

Stappen :

Volg Step-01 van Methode-1 .

➤ Type de volgende code.

 Sub Substitution_of_text_4() Voor i = 4 tot 13 Als InStr(1, Cells(i, 4).Value, "gmail")> 0 Dan Cells(i, 6).Value = Replace(Cells(i, 4).Value, "gmail", Cells(i, 5).Value) Else Cells(i, 6).Value = "" End If Next i End Sub 

Hier hebben wij de FOR-lus om de operatie uit te voeren van Rij 4 naar Rij 13 Met de hulp van de IF-THEN statement, hebben we gecontroleerd of de e-mail ids van Kolom D bevatten "gmail" of niet, en om aan dit criterium te voldoen is de "gmail" deel van de e-mail id's zal worden vervangen door de nieuwe domeinen van Kolom E om de nieuwe ids aan te maken in Kolom F Anders heeft u een blanco in de corresponderende cellen van Kolom F .

Druk F5 .

Dan heeft u de nieuwe e-mailadressen in de Definitieve e-mailadressen column.

Lees meer: Excel VBA om tekst in een kolom te zoeken en te vervangen (2 voorbeelden)

Methode-05: Tekst in een reeks strings vervangen door gebruikersinvoer om tekst te vinden

U kunt de volgende e-mail ids vervangen door de nieuwe domeinen en aangeven wat in de vorige ids moet worden vervangen een gebruikersinvoer kan worden gebruikt door deze methode te volgen.

Stappen :

Volg Step-01 van Methode-1 .

➤ Type de volgende code.

 Sub Substitution_of_text_5() Dim partial_text As String partial_text = Application.InputBox("Voer de te vervangen string in") For i = 4 To 13 If InStr(1, Cells(i, 4).Value, LCase(partial_text))> 0 Then Cells(i, 6).Value = Replace(Cells(i, 4).Value, LCase(partial_text), Cells(i, 5).Value) Else Cells(i, 6).Value = "" End If Next i End Sub 

Hier hebben wij gedefinieerd gedeeltelijke_tekst als String en vervolgens toegewezen aan een string die door een gebruiker zal worden gegeven via de Invoervak .

Daarna hebben we de FOR-lus om de operatie uit te voeren van Rij 4 naar Rij 13 en met behulp van de IF-THEN statement, controleerden we of de e-mailadressen van Kolom D bevatten "gmail" of niet. En om aan dit criterium te voldoen is de "gmail" deel van de e-mail id's zal worden vervangen door de nieuwe domeinen van Kolom E om de nieuwe ids aan te maken in Kolom F Anders krijgt u een blanco in de overeenkomstige cellen van Kolom F .

Druk F5 .

Daarna heb je een Invoervak waar u de tekst moet invoeren die u wilt zoeken in de reeks e-mailadressen (hier hebben we ingevoerd gmail ) en druk vervolgens op OK .

Tot slot hebben we onze bijgewerkte e-mailadressen in de Definitieve e-mailadressen column.

Lees meer: Tekst in een bereik zoeken en vervangen met Excel VBA (Macro en UserForm)

Praktijk Sectie

Om zelf te oefenen hebben we een Praktijk sectie zoals hieronder in een blad met de naam Praktijk Doe het alsjeblieft zelf.

Conclusie

In dit artikel hebben we geprobeerd de manieren te behandelen om tekst in een tekenreeks te vervangen met behulp van Excel VBA Als je suggesties of vragen hebt, voel je vrij om ze te delen in de commentaarsectie.

Hugh West is een zeer ervaren Excel-trainer en -analist met meer dan 10 jaar ervaring in de branche. Hij heeft een bachelor in Accounting en Finance en een master in Business Administration. Hugh heeft een passie voor lesgeven en heeft een unieke lesaanpak ontwikkeld die gemakkelijk te volgen en te begrijpen is. Zijn deskundige kennis van Excel heeft duizenden studenten en professionals over de hele wereld geholpen hun vaardigheden te verbeteren en uit te blinken in hun carrière. Via zijn blog deelt Hugh zijn kennis met de wereld en biedt hij gratis Excel-tutorials en online trainingen aan om individuen en bedrijven te helpen hun volledige potentieel te bereiken.