VBA Vaihda merkkijono - Kuinka korvata merkkijonon teksti VBA: n avulla?

Sisällysluettelo

Excel VBA Korvaa merkkijono

Korvaa on sekä laskentataulukko- että VBA-toiminto. Tämä toiminto auttaa meitä korvaamaan merkkijonon tietyn sanan toisella merkkijonolla. Se toimii samalla tavalla kuin VBA: n Substitute-funktio.

Kun käsitellään testimerkkijono- tai tekstidata-arvoja, on itsestään selvää, että jotain korvataan tai korvataan jollakin muulla, yhdistämällä kaksi solutietoa yhdeksi tai jakamalla yksi soludata useaan. Nämä ovat kaikki yleisiä tehtäviä, joita teemme päivittäin työpaikallamme.

Joten miten korvataan yksi merkkijonon sana toisella sanalla? Esimerkiksi jos merkkijono on "Intia on kehittyvä maa ja Intia Aasian maassa" tästä merkkijonosta, meidän on korvattava sana "Intia" ja muutettava sanaksi "Bharath".

Tämä on mahdollista käyttämällä Korvaa-toimintoa. Tässä artikkelissa näytämme, kuinka korvata merkkijonot VBA-koodauksessa.

Vaihda toiminto

  • Lauseke: Tämä ei ole muuta kuin alkuperäinen merkkijonoarvo, josta yritämme korvata jotain jollakin. Esimerkiksi alla on lauseke - "Intia on kehitysmaa ja Intia Aasian maassa".
  • Etsi merkkijono: Mikä on merkkijono, jota yritämme korvata. Esimerkiksi Lauseke- merkkijonossa yritämme korvata sanan "Intia".
  • Korvaa merkkijono: Mikä on korvaava merkkijono, jolla korvataan Etsi merkkijono ? Joten tässä tapauksessa yritämme korvata sanan "Intia" sanalla "Bharath".
  • (Käynnistä): Tämä on valinnainen parametri. Yllä olevassa merkkijonossa (lauseke) meillä on kaksi sanaa, "Intia", joten mistä Find-merkkijonon sijainnista meidän on aloitettava korvausprosessi. Esimerkiksi, jos sanomme 2, se alkaa korvata sanan "Intia" toisesta paikasta eteenpäin.
  • (Count): Jos Find-merkkijono esiintyy useita kertoja lausekkeessa, kuinka monta sanaa meidän on korvattava.

Jos esimerkiksi sana ”Intia” esiintyy viisi kertaa ja jos annat laskun arvoksi 3, se korvaa vain kolme ensimmäistä ”Intia” -sanaa.

Kuinka korvata merkkijonon teksti VBA: n avulla?

Esimerkki 1

Yritämme nyt korvata sana "Intia" sanalla "Bharath" alla olevasta merkkijonosta.

"Intia on kehitysmaa ja Intia Aasian maassa."

Aloita ensin Excel-makromenettely.

Koodi:

Sub Replace_Example () End Sub

Määritä VBA-muuttuja merkkijonoksi.

Koodi:

Sub Replace_Example () Dim NewString as String End Sub

Tässä muuttujassa näytetään uusi merkkijonoarvo sen jälkeen, kun sana "Intia" on korvattu sanalla "Bharath". Avaa tälle muuttujalle Korvaa-toiminto.

Tämän toiminnon ensimmäinen argumentti on "lauseke", ts. Mistä merkkijonosta yritämme korvata sanan, joten kopioi ja liitä merkkijono "Intia on kehitysmaa ja Intia Aasian maassa".

Seuraava argumentti on "Etsi merkkijono", ts. Mikä sana meidän on korvattava, eli "Intia".

Seuraava argumentti on "Korvaa merkkijono", ts. Millä merkkijonolla meidän on korvattava sana "Intia" eli "Bharath".

Ok, sivuuttaa jäljellä olevat argumentit jo nyt. Näytä tulos nyt viestiruudussa.

Koodi:

Sub Replace_Example () Himmennä NewString merkkijonona NewString = Replace ("Intia on kehitysmaa ja Intia on Aasian maa", "Intia", "Bharath") MsgBox NewString End Sub

Suoritetaan koodi käyttämällä F5-näppäintä tai manuaalisesti ja katsotaan uusi merkkijonotulos.

Ok, katso yllä olevaa tulosta. Aina missä meillä on sana "Intia", se on korvattu sanalla "Bharath".

Esimerkki 2

Nyt näemme, kuinka samaa koodia käytetään muuttujien kanssa. Katso alla oleva koodi.

Koodi:

Sub Replace_Example1 () Dim NewString as String Dim MyString as String Dim FindString as String Dim ReplaceString As String MyString = "Intia on kehitysmaa ja Intia on Aasian maa" FindString = "Intia" ReplaceString = "Bharath" NewString = Korvaa (MyString , FindString, ReplaceString) MsgBox NewString End Sub

Edellä mainitussa koodissa olen ilmoittanut kolme ylimääräistä muuttujaa.

Dim MyString merkkijonona Dim FindString merkkijonona Dim ReplaceString merkkijonona

Näille muuttujille olen määrittänyt arvot. Sen sijaan, että toimittaisimme lausekemerkkijonon, Etsi merkkijono ja Korvaa merkkijono, toimitamme vain muuttujan Korvaa-toiminnolle.

Tämä koodi antaa myös saman tuloksen, mutta ainoa ero on, että olemme käyttäneet muuttujia sen sijaan, että funktiolle toimitettaisiin arvoja suoraan.

Esimerkki 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

  • Korvaa on merkkijonofunktioperhe VBA: ssa.
  • VBA: ssa korvaava toiminto korvaa kaikki toimitetut sanat korvatulla merkkijonolla, jos count-parametria ei ole määritetty.
  • Käynnistysparametri poistaa toimitettujen merkkien määrän ja näyttää jäljellä olevan tuloksen.

Mielenkiintoisia artikkeleita...