VBA Erstat streng | Sådan udskiftes tekst i streng ved hjælp af VBA?

Excel VBA Erstat streng

Erstat er både regnearksfunktion såvel som VBA-funktion. Denne funktion hjælper os med at erstatte det bestemte ord fra strengen med en anden streng. Det fungerer svarende til funktionen Substitute i VBA.

Mens der beskæftiger sig med teststreng- eller tekstdataværdier, er det en indlysende ting at erstatte eller erstatte noget med noget andet ved at forbinde to celledata til en eller opdele en celledata til flere ting. Dette er alle almindelige opgaver, vi udfører dag for dag ud på vores arbejdsplads.

Så hvordan erstatter vi et ord i strengen med et andet ord? For eksempel, hvis strengen er "Indien er et udviklingsland og Indien i det asiatiske land", skal vi fra denne streng erstatte ordet "Indien" og ændres til "Bharath".

Dette er muligt ved hjælp af funktionen Erstat. I denne artikel viser vi dig, hvordan du udskifter strenge i VBA-kodning.

Udskift funktion

  • Udtryk: Dette er intet andet end den oprindelige strengværdi, hvorfra vi prøver at erstatte noget med noget. Et eksempel nedenfor er udtrykstrengen - "Indien er et udviklingsland og Indien i det asiatiske land"
  • Find streng: Hvad er den streng, vi prøver at erstatte. For eksempel i ekspressionsstrengen forsøger vi at erstatte ordet "Indien".
  • Erstat streng: Hvad er erstatningsstrengen, vi erstatter Find streng med? Så i dette tilfælde forsøger vi at erstatte ordet "Indien" med "Bharath".
  • [Start]: Dette er en valgfri parameter. I ovenstående streng (udtryk) har vi to ord "Indien", så fra hvilken position af Find-streng, vi har brug for for at starte udskiftningsprocessen. For eksempel, hvis vi siger 2, begynder det at erstatte ordet "Indien" fra anden position og fremefter.
  • [Tæl]: Hvis Find streng vises flere gange i udtryk, hvor mange ord skal vi erstatte.

For eksempel, hvis ordet "Indien" vises 5 gange, og hvis du angiver antallet som 3, erstatter det kun de første 3 "Indien" ord.

Sådan udskiftes tekst i streng ved hjælp af VBA?

Du kan downloade denne VBA Erstat streng Excel-skabelon her - VBA Erstat streng Excel-skabelon

Eksempel nr. 1

Nu vil vi forsøge at erstatte ordet "Indien" med "Bharath" fra nedenstående strengværdi.

“Indien er et udviklingsland og Indien i det asiatiske land”

Start først excel-makroproceduren nu.

Kode:

 Sub Replace_Example () Afslut Sub 

Definer VBA-variablen som streng.

Kode:

 Sub Replace_Example () Dim NewString Som streng End Sub 

I denne variabel viser vi ny strengværdi efter at have erstattet ordet "Indien" med "Bharath". Åbn Erstat-funktionen for denne variabel.

Det første argument for denne funktion er "udtryk", dvs. fra hvilken streng vi prøver at erstatte et ord, så kopier og indsæt strengen "Indien er et udviklingsland og Indien i det asiatiske land".

Det næste argument er "Find streng" dvs. hvilket ord vi skal erstatte dvs. "Indien".

Det næste argument er “Erstat streng” dvs. med hvilken streng vi har brug for for at erstatte ordet “Indien” dvs. “Bharath”.

Ok, fra nu af ignorere resterende argumenter. Vis nu resultatet i meddelelsesfeltet.

Kode:

 Sub Replace_Example () Dim NewString As String NewString = Replace ("Indien er et udviklingsland og Indien er det asiatiske land", "India", "Bharath") MsgBox NewString End Sub 

Lad os køre koden ved hjælp af F5-tasten eller manuelt og se det nye strengresultat.

Okay, se på ovenstående resultat, uanset hvor vi havde ordet "Indien", det er blevet erstattet med ordet "Bharath".

Eksempel 2

Nu vil vi se, hvordan man bruger den samme kode med variabler. Se på nedenstående kode.

Kode:

 Sub Replace_Example1 () Dim NewString Som String Dim MyString Som String Dim FindString Som String Dim ReplaceString Som String MyString = "Indien er et udviklingsland og Indien er det asiatiske land" FindString = "Indien" ReplaceString = "Bharath" NewString = Replace (MyString , FindString, ReplaceString) MsgBox NewString End Sub 

I ovenstående kode har jeg deklareret yderligere tre variabler.

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

For disse variabler har jeg tildelt værdier, i stedet for at levere ekspressionsstreng, find streng og erstat streng , leverer vi kun variabel til funktionen Erstat.

Denne kode giver også det samme resultat, men den eneste forskel er, at vi har brugt variabler i stedet for direkte levering af værdier til funktionen.

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.