VBA Zamenjaj niz | Kako zamenjati besedilo v nizu z uporabo VBA?

Nadomestni niz v Excelu VBA

Zamenjava je tako funkcija delovnega lista kot funkcija VBA. Ta funkcija nam pomaga, da določeno besedo iz niza zamenjamo z drugim nizom. Deluje podobno kot funkcija Substitute v VBA.

Med obravnavanjem vrednosti testnih nizov ali besedilnih podatkov je očitno nekaj zamenjati ali nadomestiti z nečim drugim, združiti dva celična podatka v enega ali razdeliti enega celičnega podatka na več stvari. Vse to so običajne naloge, ki jih vsak dan opravljamo na svojem delovnem mestu.

Torej, kako zamenjamo eno besedo v nizu z drugo besedo? Če je na primer niz »Indija je država v razvoju, Indija pa v azijski državi«, moramo iz tega niza nadomestiti besedo »Indija« in spremeniti v »Bharath«.

To je mogoče s funkcijo Zamenjaj. V tem članku vam bomo pokazali, kako zamenjati nize v kodiranju VBA.

Zamenjaj funkcijo

  • Izraz: To ni nič drugega kot izvirna vrednost niza, iz katere poskušamo nekaj nadomestiti z nečim. Za primer spodaj je izraz niz - "Indija je država v razvoju in Indija v azijski državi"
  • Najdi niz: Kakšen je niz, ki ga skušamo nadomestiti. Na primer v izraznem nizu poskušamo nadomestiti besedo "Indija".
  • Zamenjaj niz: s katerim nadomestnim nizom nadomestimo Najdi niz ? V tem primeru poskušamo besedo "Indija" nadomestiti z "Bharath".
  • [Start]: To je neobvezen parameter. V zgornjem nizu (izraz) imamo dve besedi "Indija", torej s katerega mesta v nizu za iskanje naj začnemo postopek zamenjave. Na primer, če rečemo 2, bo začela nadomeščati besedo "Indija" od drugega položaja naprej.
  • [Štetje]: če se niz za iskanje večkrat pojavi v izrazu, koliko besed moramo zamenjati.

Če se na primer beseda "Indija" pojavi petkrat in če štetje navedete kot 3, bo nadomestila samo prve 3 besede "Indija".

Kako zamenjati besedilo v nizu z uporabo VBA?

To predlogo VBA Replace String Excel lahko nadomestite tukaj - VBA Replace String Excel Predloga

Primer # 1

Zdaj bomo poskušali besedo "Indija" nadomestiti z "Bharath" iz spodnje vrednosti niza.

"Indija je država v razvoju, Indija pa v azijski državi"

Najprej zaženite postopek makra excel zdaj.

Koda:

 Sub Replace_Example () End Sub 

Spremenljivko VBA definirajte kot niz.

Koda:

 Sub Replace_Example () Zatemni NewString kot niz na koncu Sub 

V tej spremenljivki bomo prikazali novo vrednost v nizu, potem ko smo besedo "India" nadomestili z "Bharath". Za to spremenljivko odprite funkcijo Zamenjaj.

Prvi argument te funkcije je »Izraz«, tj. Iz katerega niza poskušamo nadomestiti besedo, zato kopirajte in prilepite niz »Indija je država v razvoju in Indija v azijski državi«.

Naslednji argument je »Najdi niz«, tj. Katero besedo moramo nadomestiti, tj. »Indija«.

Naslednji argument je »Zamenjaj niz«, tj. S katerim nizom moramo nadomestiti besedo »Indija«, tj. »Bharath«.

Ok, odslej prezri preostale argumente. Zdaj prikaži rezultat v polju za sporočila.

Koda:

 Sub Replace_Example () Dim NewString As String NewString = Zamenjaj ("Indija je država v razvoju, Indija pa azijska država", "Indija", "Bharath") MsgBox NewString End Sub 

Zaženimo kodo s tipko F5 ali ročno in si oglejte nov rezultat niza.

Ok, poglejte zgornji rezultat, kjer koli smo imeli besedo "Indija", je bila nadomeščena z besedo "Bharath".

2. primer

Zdaj bomo videli, kako uporabiti isto kodo s spremenljivkami. Poglejte spodnjo kodo.

Koda:

 Sub Replace_Example1 () Dim NewString As String Dim MyString As String Dim FindString As String Dim ReplaceString As String MyString = "Indija je država v razvoju, Indija pa azijska država" FindString = "Indija" ReplaceString = "Bharath" NewString = Zamenjaj (MyString , FindString, ReplaceString) MsgBox NewString End Sub 

V zgornji kodi sem navedel dodatne tri spremenljivke.

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

Za te spremenljivke sem dodelil vrednosti, namesto da bi podali izrazni niz, poišči niz in zamenjaj niz, bomo funkciji Zamenjaj dobavili samo spremenljivko.

Tudi ta koda daje enak rezultat, vendar je edina razlika v tem, da smo namesto neposredne dobave vrednosti funkciji uporabili spremenljivke.

3. primer

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.