VBA Erstatt streng | Hvordan erstatte tekst i streng ved hjelp av VBA?

Excel VBA Erstatt streng

Erstatt er både regnearkfunksjon og VBA-funksjon. Denne funksjonen hjelper oss med å erstatte det bestemte ordet fra strengen med en annen streng. Det fungerer som Substitute-funksjonen i VBA.

Mens du arbeider med teststreng eller tekstdataverdier, er det en åpenbar ting å erstatte eller erstatte noe med noe annet, å koble to celledata til en eller dele en celledata til flere ting. Dette er alle vanlige oppgaver vi gjør dag ut på arbeidsplassen vår.

Så hvordan erstatter vi ett ord i strengen med et annet ord? For eksempel, hvis strengen er "India is a developing country and India in the Asian Country", må vi fra denne strengen erstatte ordet "India" og endret til "Bharath".

Dette er mulig ved å bruke Erstatt-funksjonen. I denne artikkelen vil vi vise deg hvordan du bytter ut strenger i VBA-koding.

Bytt ut funksjon

  • Uttrykk: Dette er ingenting annet enn den opprinnelige strengverdien som vi prøver å erstatte noe med noe fra. For et eksempel nedenfor er uttrykkstrengen - "India er et utviklingsland og India i det asiatiske landet"
  • Finn streng: Hva er strengen vi prøver å erstatte. For eksempel i uttrykkstrengen prøver vi å erstatte ordet "India".
  • Erstatt streng: Hva er erstatningsstrengen vi erstatter Finn streng med? Så i dette tilfellet prøver vi å erstatte ordet "India" med "Bharath".
  • [Start]: Dette er en valgfri parameter. I strengen ovenfor (uttrykk) har vi to ord "India", så fra hvilken posisjon av Finn-strengen vi trenger for å starte erstatningsprosessen. Hvis vi for eksempel sier 2, vil det begynne å erstatte ordet “India” fra andre posisjon og utover.
  • [Count]: Hvis Finn streng vises flere ganger i uttrykk, så hvor mange ord vi trenger å erstatte.

For eksempel, hvis ordet "India" dukker opp 5 ganger, og hvis du oppgir tellingen som 3, erstatter det bare de første 3 "India" -ordene.

Hvordan erstatte tekst i streng ved hjelp av VBA?

Du kan laste ned denne VBA Erstatt streng Excel-mal her - VBA Erstatt streng Excel-mal

Eksempel 1

Nå skal vi prøve å erstatte ordet "India" med "Bharath" fra strengverdien nedenfor.

“India er et utviklingsland og India i det asiatiske landet”

Start først Excel-makroprosedyren nå.

Kode:

 Sub Replace_Example () End Sub 

Definer VBA-variabelen som streng.

Kode:

 Sub Replace_Example () Dim NewString Som streng End Sub 

I denne variabelen vil vi vise ny strengverdi etter å ha erstattet ordet "India" med "Bharath". Åpne Erstatt-funksjonen for denne variabelen.

Det første argumentet for denne funksjonen er "uttrykk", dvs. fra hvilken streng vi prøver å erstatte et ord, så kopier og lim inn strengen "India er et utviklingsland og India i det asiatiske landet".

Det neste argumentet er "Finn streng" dvs. hvilket ord vi trenger for å erstatte dvs. "India".

Det neste argumentet er "Erstatt streng" dvs. med hvilken streng vi trenger for å erstatte ordet "India" dvs. "Bharath".

Ok, fra nå av ignorere gjenværende argumenter. Vis nå resultatet i meldingsboksen.

Kode:

 Sub Replace_Example () Dim NewString As String NewString = Erstatt ("India er et utviklingsland og India er det asiatiske landet", "India", "Bharath") MsgBox NewString End Sub 

La oss kjøre koden ved hjelp av F5-tasten eller manuelt og se det nye strengresultatet.

Ok, se på resultatet ovenfor uansett hvor vi hadde ordet "India", det er erstattet med ordet "Bharath".

Eksempel 2

Nå skal vi se hvordan du bruker den samme koden med variabler. Se på koden nedenfor.

Kode:

 Sub Replace_Example1 () Dim NewString Som String Dim MyString Som String Dim FindString Som String Dim ReplaceString As String MyString = "India er et utviklingsland og India er det asiatiske landet" FindString = "India" ReplaceString = "Bharath" NewString = Erstatt (MyString , FindString, ReplaceString) MsgBox NewString End Sub 

I koden ovenfor har jeg erklært tre ekstra variabler.

 Dim MyString som streng Dim FindString som streng Dim ReplaceString som streng 

For disse variablene har jeg tildelt verdier, i stedet for å levere uttrykkstrengen, finn streng og erstat streng, vil vi bare levere variabel til funksjonen Erstatt.

Denne koden gir også det samme resultatet, men den eneste forskjellen er at vi har brukt variabler i stedet for direkte tilførsel av verdier til funksjonen.

Eksempel 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” to “Bharath” then we need to use [“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

  • Replace is a string function family in VBA.
  • In VBA, the replace function replaces all the supplied words with replaced string if the count parameter is not specified.
  • The start parameter will delete the number of characters supplied and show the remaining result.