VBA pakeisti eilutę - Kaip pakeisti tekstą eilutėje naudojant VBA?

„Excel VBA“ pakeiskite eilutę

Pakeisti yra ir darbalapio, ir VBA funkcija. Ši funkcija padeda pakeisti konkretų žodį iš eilutės kita eilute. Jis veikia panašiai kaip VBA funkcija Pavaduojanti.

Nagrinėjant testo eilutės ar teksto duomenų reikšmes, akivaizdu, kad reikia kažką pakeisti ar pakeisti kuo nors kitu, sujungiant du langelių duomenis į vieną arba padalijant vieno langelio duomenis į kelis dalykus. Tai visos įprastos užduotys, kurias kasdien atliekame savo darbo vietoje.

Taigi, kaip pakeisti vieną žodį eilutėje kitu žodžiu? Pavyzdžiui, jei iš šios eilutės yra „Indija yra besivystanti šalis, o Indija - Azijos šalyje“, turime pakeisti žodį „Indija“ ir pakeisti į „Bharath“.

Tai įmanoma naudojant funkciją Pakeisti. Šiame straipsnyje mes parodysime, kaip pakeisti VBA kodavimo eilutes.

Pakeiskite funkciją

  • Išraiška: tai yra ne kas kita, o originali eilutės reikšmė, iš kurios bandome kažką pakeisti. Pavyzdžiui, žemiau yra posakio eilutė - „Indija yra besivystanti šalis, o Indija - Azijos šalyje“.
  • Raskite eilutę: kokią eilutę bandome pakeisti. Pavyzdžiui, „ Expression“ eilutėje bandome pakeisti žodį „Indija“.
  • Eilutės: Kas yra pakaitalas eilutė mes pakeisti Find String su? Taigi šiuo atveju mes bandome pakeisti žodį „Indija“ į „Bharath“.
  • (Pradėti): Tai pasirenkamas parametras. Pirmiau pateiktoje eilutėje („Expression“) turime du žodžius „Indija“, taigi iš kurios „ String“ eilutės pozicijos turime pradėti pakeitimo procesą. Pvz., Jei sakysime 2, jis pradės pakeisti žodį „Indija“ nuo antrosios pozicijos.
  • (Skaičiuoti): jei išraiškoje kelis kartus pasirodo ieškos eilutė , kiek žodžių turime pakeisti.

Pvz., Jei žodis „Indija“ pasirodys 5 kartus ir jei skaičių pateiksite kaip 3, jis pakeis tik pirmuosius 3 žodžius „Indija“.

Kaip pakeisti tekstą eilutėje naudojant VBA?

1 pavyzdys

Dabar pabandysime pakeisti žodį „Indija“ žodžiu „Bharath“ iš žemiau pateiktos eilutės vertės.

„Indija yra besivystanti šalis, o Indija - Azijos šalyje“.

Pirmiausia pradėkite „Excel“ makrokomandą dabar.

Kodas:

Sub Replace_Pavyzdys () End Sub

Apibrėžkite VBA kintamąjį kaip eilutę.

Kodas:

Sub Replace_Example () pritemdyti NewString kaip eilutę End Sub

Šiame kintamajame mes parodysime naują eilutės vertę pakeisdami žodį „India“ į „Bharath“. Šiam kintamajam atidarykite funkciją Pakeisti.

Pirmasis šios funkcijos argumentas yra „Expression“, ty iš kurios eilutės bandome pakeisti žodį, todėl nukopijuokite ir įklijuokite eilutę „Indija yra besivystanti šalis, o Indija - Azijos šalyje“.

Kitas argumentas yra „Rasti eilutę“, ty žodį, kurį turime pakeisti, ty „Indija“.

Kitas argumentas yra „Pakeisti eilutę“, ty kuria eilute turime pakeisti žodį „Indija“, ty „Bharath“.

Gerai, nuo šiol nepaisykite likusių argumentų. Dabar parodykite rezultatą pranešimų laukelyje.

Kodas:

Sub Replace_Example () Dim NewString as String NewString = Replace („Indija yra besivystanti šalis, o Indija - Azijos šalis“, „Indija“, „Bharath“) „MsgBox NewString End Sub“

Paleiskime kodą naudodami klavišą F5 arba rankiniu būdu ir pamatysime naują eilutės rezultatą.

Gerai, pažiūrėkite į aukščiau pateiktą rezultatą. Kur tik turėjome žodį „Indija“, jis buvo pakeistas žodžiu „Bharath“.

2 pavyzdys

Dabar pamatysime, kaip naudoti tą patį kodą su kintamaisiais. Pažvelkite į žemiau esantį kodą.

Kodas:

Sub Replace_Example1 () Dim NewString as String Dim MyString As String Dim FindString As String Dim ReplaceString As String MyString = "Indija yra besivystanti šalis, o Indija yra Azijos šalis" FindString = "India" ReplaceString = "Bharath" NewString = Pakeisti (MyString , „FindString“, „ReplaceString“) „MsgBox NewString End Sub“

Pirmiau pateiktame kode aš paskelbiau papildomus tris kintamuosius.

Mano „MyString“ kaip „String“ „Dim FindString“ kaip „String“ „Dim ReplaceString“ kaip „String“

Šiems kintamiesiems priskyriau reikšmes. Užuot pateikę „ Expression String“, „Find String“ ir „Replace String“, mes tieksime tik „Replace“ funkcijos kintamąjį.

Šis kodas taip pat duoda tą patį rezultatą, tačiau vienintelis skirtumas yra tas, kad mes naudojome kintamuosius, o ne tiesiogiai teikėme reikšmes funkcijai.

3 pavyzdys

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

  • „Replace“ yra eilutės funkcijų šeima VBA.
  • Jei VBA parametras nenurodytas, VBA funkcija pakeičia visus pateiktus žodžius pakeista eilute.
  • Pradžios parametras ištrins pateiktų simbolių skaičių ir parodys likusį rezultatą.

Įdomios straipsniai...