VBA Ersätt sträng

Excel VBA ersätt sträng

Ersätt är både arbetsbladets funktion och VBA-funktionen. Denna funktion hjälper oss att ersätta det specifika ordet från strängen med en annan sträng. Det fungerar som Substitute-funktionen i VBA.

När du hanterar teststrängs- eller textdatavärden är det en självklar sak att ersätta eller ersätta något med något annat, förena två celldata i en eller dela en celldata till flera saker. Dessa är alla vanliga uppgifter som vi gör dag för dag på vår arbetsplats.

Så, hur ersätter vi ett ord i strängen med ett annat ord? Till exempel, om strängen är "Indien är ett utvecklingsland och Indien i det asiatiska landet", från denna sträng måste vi ersätta ordet "Indien" och ändras till "Bharath".

Detta är möjligt med funktionen Ersätt. I den här artikeln visar vi dig hur du byter strängar i VBA-kodning.

Byt ut funktion

  • Uttryck: Detta är inget annat än det ursprungliga strängvärdet från vilket vi försöker ersätta något med något. För ett exempel nedan är uttryckssträngen - "Indien är ett utvecklingsland och Indien i det asiatiska landet"
  • Hitta sträng: Vad är strängen vi försöker ersätta. Till exempel i uttryckssträngen försöker vi ersätta ordet "Indien".
  • Ersätt sträng: Vad är ersättningssträngen vi ersätter Hitta sträng med? Så i det här fallet försöker vi ersätta ordet "Indien" med "Bharath".
  • [Start]: Detta är en valfri parameter. I strängen ovan (uttryck) har vi två ord "Indien" så från vilken position i Find String vi behöver för att starta utbytesprocessen. Om vi ​​till exempel säger 2 kommer det att börja ersätta ordet "Indien" från den andra positionen och framåt.
  • [Räkna]: Om Söksträngen visas flera gånger i uttryck, hur många ord måste vi ersätta.

Till exempel, om ordet "Indien" visas 5 gånger och om du anger räkningen som 3, ersätter det bara de första 3 "Indien" -orden.

Hur byter jag text i sträng med VBA?

Du kan ladda ner denna VBA Ersätt sträng Excel-mall här - VBA Ersätt sträng Excel-mall

Exempel nr 1

Nu ska vi försöka ersätta ordet "Indien" med "Bharath" från nedanstående strängvärde.

"Indien är ett utvecklingsland och Indien i det asiatiska landet"

Börja först med Excel-makroförfarandet nu.

Koda:

 Sub Replace_Example () End Sub 

Definiera VBA-variabeln som sträng.

Koda:

 Sub Replace_Example () Dim NewString Som String End Sub 

I den här variabeln visar vi nytt strängvärde efter att vi har ersatt ordet "Indien" med "Bharath". Öppna Ersätt-funktionen för denna variabel.

Det första argumentet för denna funktion är "Uttryck" dvs från vilken sträng vi försöker ersätta ett ord, så kopiera och klistra in strängen "Indien är ett utvecklingsland och Indien i det asiatiska landet".

Nästa argument är "Hitta sträng" dvs vilket ord vi behöver för att ersätta dvs "Indien".

Nästa argument är "Ersätt sträng" dvs med vilken sträng vi behöver för att ersätta ordet "Indien" dvs "Bharath".

Ok, från och med nu ignorera återstående argument. Visa nu resultatet i meddelandefältet.

Koda:

 Sub Replace_Example () Dim NewString As String NewString = Ersätt ("Indien är ett utvecklingsland och Indien är det asiatiska landet", "Indien", "Bharath") MsgBox NewString End Sub 

Låt oss köra koden med F5-tangenten eller manuellt och se det nya strängresultatet.

Ok, titta på ovanstående resultat varhelst vi hade ordet "Indien" har det ersatts med ordet "Bharath".

Exempel 2

Nu får vi se hur man använder samma kod med variabler. Titta på koden nedan.

Koda:

 Sub Replace_Example1 () Dim NewString Som String Dim MyString Som String Dim FindString Som String Dim ReplaceString As String MyString = "Indien är ett utvecklingsland och Indien är det asiatiska landet" FindString = "India" ReplaceString = "Bharath" NewString = Ersätt (MyString , FindString, ReplaceString) MsgBox NewString End Sub 

I ovanstående kod har jag förklarat ytterligare tre variabler.

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

För dessa variabler har jag tilldelat värden, istället för att tillhandahålla uttryckssträngen, hitta strängen och ersätt strängen, kommer vi bara att tillhandahålla variabel till funktionen Ersätt.

Den här koden ger också samma resultat men den enda skillnaden är att vi har använt variabler istället för direkt tillförsel av värden till funktionen.

Exempel # 3

Antag att du bara vill ersätta ordet "Indien" från den andra positionen, då måste vi använda ersättningsfunktionsparametern ["Start"]. Titta på koden nedan för din information.

Koda:

 Sub Replace_Example2 () Dim NewString Som String Dim MyString Som String Dim FindString Som String Dim ReplaceString As String MyString = "Indien är ett utvecklingsland och Indien är det asiatiska landet" FindString = "India" ReplaceString = "Bharath" NewString = Ersätt (MyString , FindString, ReplaceString, Start: = 34) MsgBox NewString End Sub 

Endast en extra sak som vi har lagt till från den föregående koden är "Start" -parametern som 34. Kör nu koden och se resultatet.

Nu kan vi bara se sträng efter strängens 34: e karaktär med "Indien" som ersätts med "Bharath".

Exempel # 4

För ett exempel, om vi bara vill ersätta den första förekomsten av ordet "Indien" till "Bharath" måste vi använda ["Räkna"] -parametern för Ersättningsfunktionen.

Nedan är koden för dig.

Koda:

 Sub Replace_Example3 () Dim NewString Som String Dim MyString Som String Dim FindString Som String Dim ReplaceString As String MyString = "Indien är ett utvecklingsland och Indien är det asiatiska landet" FindString = "India" ReplaceString = "Bharath" NewString = Ersätt (MyString , FindString, ReplaceString, Count: = 1) MsgBox NewString End Sub 

Kör koden manuellt eller genom F5-tangenten och se resultatet.

Som du kan se ovan har det bara ersatt den första förekomsten av ordet "Indien" till "Bharath" och den andra instansen förblir densamma.

Saker att komma ihåg här

  • Ersätt är en strängfunktionsfamilj i VBA.
  • I VBA ersätter ersättningsfunktionen alla angivna ord med ersatt sträng om räknarparametern inte är specificerad.
  • Startparametern tar bort antalet angivna tecken och visar återstående resultat.