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 iz tega niza niz »Indija je država v razvoju in Indija v azijski državi«, moramo zamenjati 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. Na 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 nizu izraz poskušamo nadomestiti besedo "Indija".
  • Zamenjaj niz: s katerim nadomestnim nizom nadomestimo Najdi niz ? V tem primeru poskušamo besedo "Indija" nadomestiti z besedo "Bharath".
  • (Start): To je neobvezen parameter. V zgornjem nizu (Izraz) imamo dve besedi, "Indija", torej s katerega položaja Najdi niz, moramo začeti 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?

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, od zdaj prezrite 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 določil vrednosti. Namesto da bi podali izrazni niz, poišči niz in zamenjaj niz, bomo funkciji Zamenjaj podali 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

Predpostavimo, da želite besedo "Indija" nadomestiti le z drugega mesta, potem moramo uporabiti funkcijski parameter Zamenjaj ("Začetek"). Za informacije si oglejte spodnjo kodo.

Koda:

Sub Replace_Example2 () 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, Start: = 34) MsgBox NewString End Sub

Samo še ena stvar, ki smo jo dodali iz prejšnje kode, je parameter "Start" kot 34. Zdaj zaženite kodo in si oglejte rezultat.

Zdaj lahko vidimo le niz po 34 th znakov niza s "Indija" nadomestili z "Bharath."

Primer # 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

  • Replace je družina nizov funkcij v VBA.
  • V VBA funkcija nadomešča vse dobavljene besede z nadomeščenim nizom, če parameter count ni podan.
  • Začetni parameter bo izbrisal število dobavljenih znakov in prikazal preostali rezultat.

Zanimive Članki...