VBA asenda string - Kuidas VBA abil stringi teksti asendada?

Lang L: none (table-of-contents)

Exceli VBA stringi asendamine

Asenda on nii töölehe kui ka VBA funktsioon. See funktsioon aitab meil asendada stringis olev konkreetne sõna teise stringiga. See töötab sarnaselt asendusfunktsiooniga VBA-s.

Teststringi või tekstiandmete väärtuste käsitlemisel on ilmne asi asendada või asendada midagi millegi muuga, kahe lahtriandme ühendamine üheks või ühe lahtriandme jagamine mitme asjaga. Need on kõik tavalised ülesanded, mida me igapäevaselt oma töökohal teeme.

Niisiis, kuidas me asendame stringi ühe sõna teise sõnaga? Näiteks kui selle stringi string on „India on arenev riik ja India Aasia riigis”, peame asendama sõna „India” ja muutma sõnaks „Bharath”.

See on võimalik funktsiooni Asenda abil. Selles artiklis näitame teile, kuidas asendada stringid VBA kodeerimisel.

Asenda funktsioon

  • Väljend: see pole midagi muud kui algne stringi väärtus, millest proovime midagi millegagi asendada. Näiteks on allpool väljend string - "India on arengumaa ja India Aasia riigis."
  • Stringi leidmine: mis on string, mida proovime asendada. Näiteks stringis Expression proovime asendada sõna “India”.
  • Asenda string: mis on asendusstring, millega me asendame stringi leidmise ? Niisiis püüame sel juhul sõna “India” asendada sõnaga “Bharath”.
  • (Start): see on valikuline parameeter. Ülaltoodud stringis (Expression) on meil kaks sõna "India", nii et kust stringi leidmise kohast peame alustama asendusprotsessi. Näiteks kui ütleme 2, hakkab see teisest positsioonist alates asendama sõna „India“.
  • (Loend): kui leidmisstringi ilmub avaldises mitu korda , siis mitu sõna peame asendama.

Näiteks kui sõna „India” ilmub 5 korda ja kui sisestate loendiks 3, siis see asendab ainult 3 esimest sõna „India”.

Kuidas VBA abil stringi teksti asendada?

Näide 1

Nüüd proovime sõna "India" asendada allpool oleva stringi väärtusega "Bharath".

"India on arengumaa ja India Aasia riigis."

Esmalt alustage Exceli makroprotseduuri kohe.

Kood:

Alam asenda_näide () Lõpeta alam

Määrake VBA muutuja stringiks.

Kood:

Sub Replace_Example () Dim NewString stringina End Sub

Selles muutujas kuvame uue stringi väärtuse pärast sõna „India” asendamist sõnaga „Bharath”. Selle muutuja jaoks avage funktsioon Asenda.

Selle funktsiooni esimene argument on “Expression”, st millisest stringist proovime sõna asendada, seega kopeerige ja kleepige string “India on arenev riik ja India Aasia riigis”.

Järgmine argument on „Leia string”, st mis sõna peame asendama, st „India”.

Järgmine argument on „Asenda string”, st millise stringiga peame asendama sõna „India”, st „Bharath”.

Ok, praeguse seisuga ignoreerige ülejäänud argumente. Nüüd kuvage tulemus sõnumikastis.

Kood:

Sub Replace_Example () Dim NewString stringina NewString = Asenda ("India on arengumaa ja India on Aasia riik", "India", "Bharath") MsgBox NewString End Sub

Käivitame koodi klahvi F5 abil või käsitsi ja näeme uut stringi tulemust.

Ok, vaadake ülaltoodud tulemust. Kõikjal, kus meil oli sõna "India", on see asendatud sõnaga "Bharath".

Näide 2

Nüüd näeme, kuidas kasutada sama koodi muutujatega. Vaadake allolevat koodi.

Kood:

Sub Replace_Example1 () Dim NewString stringina Dim MyString stringina Dim FindString stringina Dim ReplaceString As String MyString = "India on arengumaa ja India on Aasia riik" FindString = "India" ReplaceString = "Bharath" NewString = Asenda (MyString , FindString, ReplaceString) MsgBox NewStringi lõpp-alam

Ülaltoodud koodis olen deklareerinud veel kolm muutujat.

Dim MyString stringina Dim FindString stringina Dim ReplaceString stringina

Nende muutujate jaoks olen määranud väärtused. Selle asemel, et pakkuda avaldist String, Otsi stringi ja Asenda string, pakume funktsiooni Asenda ainult muutujat.

See kood annab ka sama tulemuse, kuid ainus erinevus on see, et oleme funktsioonile väärtuste otsese pakkumise asemel kasutanud muutujaid.

Näide # 3

Oletame, et soovite sõna „India” asendada ainult teisest positsioonist, siis peame kasutama funktsiooni Asenda parameetrit („Start”). Teabe saamiseks vaadake allolevat koodi.

Kood:

Sub Replace_Example2 () Dim NewString stringina Dim MyString stringina Dim FindString stringina Dim ReplaceString As String MyString = "India on arengumaa ja India on Aasia riik" FindString = "India" ReplaceString = "Bharath" NewString = Asenda (MyString , FindString, ReplaceString, Start: = 34) MsgBox NewString End Sub

Ainult üks täiendav asi, mille oleme eelmisest koodist lisanud, on parameeter „Start” kui 34. Nüüd käivitage kood ja vaadake tulemust.

Nüüd näeme vaid string pärast 34 th iseloomu stringi "India" asendades "Bharath."

Näide 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

  • Asenda on stringifunktsioonide perekond VBA-s.
  • VBA-s asendab asendusfunktsioon kõik pakutavad sõnad asendatud stringiga, kui loenduse parameetrit pole määratud.
  • Start-parameeter kustutab tarnitud märkide arvu ja näitab ülejäänud tulemust.

Huvitavad Artiklid...