VBA asenda string | Kuidas VBA abil stringi teksti asendada?

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 millegagi, 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 string on „India on arenev riik ja India Aasia riigis”, peame sellest stringist 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. Allpool on näiteks väljend string - "India on arengumaa ja India Aasia riigis"
  • Stringi leidmine: mis on string, mida proovime asendada. Näiteks stringis Expression püüame 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 millisest otsingu stringi positsioonist peame asendusprotsessi alustama. 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 viis korda ja kui sisestate loendiks 3, asendab see ainult kolme esimest sõna „India”.

Kuidas VBA abil stringi teksti asendada?

Selle VBA Asenda stringi Exceli mall saate alla laadida siit - VBA Asenda string Exceli mall

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” ehk millisest stringist proovime sõna asendada, seega kopeerige ja kleepige string “India on arengumaa ja India Aasia riigis”.

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

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

Ok, eirake ü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 NewStringi lõpp-alam 

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

Ok, vaadake ülaltoodud tulemust kõikjal, kus meil on sõna "India", see on 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 sisestada avaldise string, leia string ja asenda string, pakume funktsiooni Asenda ainult muutuja.

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 stringi ainult pärast stringi 34. märki, mille asemel on India asendatud tähega „Bharath”.

Näide 4

Nüüd näiteks, kui soovime asendada ainult sõna “India” esmakordse esinemise sõnaga “Bharath”, siis peame kasutama funktsiooni Asenda parameetrit [“Count”] .

Allpool on teie kood.

Kood:

 Sub Replace_Example3 () 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, Count: = 1) MsgBox NewString End Sub 

Käivitage kood käsitsi või klahvi F5 kaudu ja vaadake tulemust.

Nagu ülal näete, on see asendanud ainult sõna “India” esimese esinemise sõnaga “Bharath” ja teine ​​eksemplar jääb samaks.

Siinkohal meenutavad asjad

  • 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.

$config[zx-auto] not found$config[zx-overlay] not found