VBA Ersätt sträng - Hur byter jag text i sträng med VBA?

Innehållsförteckning

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. Det här är 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? Om strängen till exempel ä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. Till 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. I Expression- strängen försöker vi till exempel 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 måste vi 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.
  • (Antal): 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?

Exempel 1

Nu kommer vi att försöka ersätta ordet "Indien" med "Bharath" från strängvärdet nedan.

"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 ett nytt strängvärde efter att vi har ersatt ordet "Indien" med "Bharath." Öppna funktionen Ersätt 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 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. Oavsett var 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. I stället för att tillhandahålla uttryckssträngen, hitta strängen och ersätt strängen kommer vi endast 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

Assume you want to replace the word “India” only from the second position, then we need to use the Replace function parameter (“Start”). Look at the below code for your information.

Code:

Sub Replace_Example2() Dim NewString As String Dim MyString As String Dim FindString As String Dim ReplaceString As String MyString = "India is a developing country and India is the Asian Country" FindString = "India" ReplaceString = "Bharath" NewString = Replace(MyString, FindString, ReplaceString, Start:=34) MsgBox NewString End Sub

Only one extra thing we have added from the previous code is the “Start” parameter as 34. Now run the code and see the result.

Now we can see only string after the 34th character of the string with “India” replacing with “Bharath.”

Example #4

Now for an example, if we want to replace only the first occurrence of the word “India” with “Bharath,” then we need to use the (“Count”) parameter of the Replace function.

Below is the code for you.

Code:

Sub Replace_Example3() Dim NewString As String Dim MyString As String Dim FindString As String Dim ReplaceString As String MyString = "India is a developing country and India is the Asian Country" FindString = "India" ReplaceString = "Bharath" NewString = Replace(MyString, FindString, ReplaceString, Count:=1) MsgBox NewString End Sub

Run the code manually or through the F5 key and see the result.

As you can see above, it has replaced only the first occurrence of the word “India” to “Bharath,” and the second instance remains the same.

Things to Remember Here

  • 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.

Intressanta artiklar...