VBA Replace String | Cum se înlocuiește textul în șir folosind VBA?

Excel VBA Înlocuiește șirul

Înlocuiți este atât funcția Foaie de lucru, cât și funcția VBA. Această funcție ne ajută să înlocuim cuvântul specific din șir cu un alt șir. Funcționează similar cu funcția de înlocuire în VBA.

În timp ce tratați șirul de testare sau valorile datelor textului, este un lucru evident să înlocuiți sau să înlocuiți ceva cu altceva, să uniți două date de celule într-una sau să împărțiți o dată de celulă cu mai multe lucruri. Toate acestea sunt sarcini obișnuite pe care le desfășurăm zi de zi la locul de muncă.

Deci, cum înlocuim un cuvânt din șir cu un alt cuvânt? De exemplu, dacă șirul este „India este o țară în curs de dezvoltare și India în țara asiatică”, din acest șir trebuie să înlocuim cuvântul „India” și să îl schimbăm în „Bharath”.

Acest lucru este posibil utilizând funcția Înlocuire. În acest articol, vă vom arăta cum să înlocuiți șirurile în codarea VBA.

Înlocuiți funcția

  • Expresie: Aceasta nu este altceva decât valoarea șirului original din care încercăm să înlocuim ceva cu ceva. Pentru un exemplu de mai jos este expresia șir - „India este o țară în curs de dezvoltare și India în țara asiatică”
  • Găsiți șir: Care este șirul pe care încercăm să îl înlocuim. De exemplu, în șirul de expresii încercăm să înlocuim cuvântul „India”.
  • Înlocuiți șirul: Care este șirul substitut cu care înlocuim șirul de căutare ? Deci, în acest caz, încercăm să înlocuim cuvântul „India” cu „Bharath”.
  • [Start]: Acesta este un parametru opțional. În șirul de mai sus (Expresie) avem două cuvinte „India”, deci din ce poziție a șirului de căutare trebuie să începem procesul de înlocuire. De exemplu, dacă spunem 2, va începe să înlocuiască cuvântul „India” începând cu a doua poziție.
  • [Număr]: Dacă șirul de căutare apare de mai multe ori în expresie, atunci câte cuvinte trebuie să înlocuim.

De exemplu, dacă cuvântul „India” apare de 5 ori și dacă furnizați numărul 3, acesta va înlocui doar primele 3 cuvinte „India”.

Cum se înlocuiește textul în șir folosind VBA?

Puteți descărca acest șablon Excel VBA Replace String Excel aici - Șablon Excel VBA Replace String Excel

Exemplul nr. 1

Acum vom încerca să înlocuim cuvântul „India” cu „Bharath” din valoarea șirului de mai jos.

„India este o țară în curs de dezvoltare și India în țara asiatică”

Mai întâi, porniți procedura macro Excel acum.

Cod:

 Sub Înlocuire_Exemplu () Încheiere Sub 

Definiți variabila VBA ca Șir.

Cod:

 Sub Replace_Example () Dim NewString As String End Sub 

În această variabilă, vom afișa o nouă valoare de șir după înlocuirea cuvântului „India” cu „Bharath”. Pentru această variabilă deschideți funcția Înlocuire.

Primul argument al acestei funcții este „Expresie”, adică din ce șir încercăm să înlocuim un cuvânt, deci copiați și lipiți șirul „India este o țară în curs de dezvoltare și India în țara asiatică”.

Următorul argument este „Găsiți șirul”, adică ce cuvânt trebuie să înlocuim, adică „India”.

Următorul argument este „Replace String”, adică cu ce șir trebuie să înlocuim cuvântul „India”, adică „Bharath”.

Ok, de acum ignoră argumentele rămase. Acum arată rezultatul în caseta de mesaje.

Cod:

 Sub Replace_Example () Dim NewString As String NewString = Înlocuiți („India este o țară în curs de dezvoltare și India este țara asiatică”, „India”, „Bharath”) MsgBox NewString End Sub 

Să rulăm codul folosind tasta F5 sau manual și să vedem noul rezultat al șirului.

Ok, uită-te la rezultatul de mai sus oriunde am avut cuvântul „India”, acesta a fost înlocuit cu cuvântul „Bharath”.

Exemplul nr. 2

Acum vom vedea cum să folosim același cod cu variabile. Uită-te la codul de mai jos.

Cod:

 Sub Replace_Example1 () Dim NewString As String Dim MyString As String Dim FindString As String Dim ReplaceString As String MyString = "India este o țară în curs de dezvoltare și India este țara asiatică" FindString = "India" ReplaceString = "Bharath" NewString = Replace (MyString , FindString, ReplaceString) MsgBox NewString End Sub 

În codul de mai sus, am declarat trei variabile suplimentare.

 Dim MyString As String Dim FindString As String Dim ReplaceString As String 

Pentru aceste variabile am atribuit valori, în loc de a furniza Expression String, Find String și Replace String vom furniza doar variabile funcției Înlocuire.

Acest cod oferă, de asemenea, același rezultat, dar singura diferență este că am folosit variabile în locul furnizării directe de valori către funcție.

Exemplul nr. 3

Să presupunem că doriți să înlocuiți cuvântul „India” doar din a doua poziție, atunci trebuie să folosim parametrul funcției Înlocuire [„Start”]. Uitați-vă la codul de mai jos pentru informații.

Cod:

 Sub Replace_Example2 () Dim NewString As String Dim MyString As String Dim FindString As String Dim ReplaceString As String MyString = "India este o țară în curs de dezvoltare și India este țara asiatică" FindString = "India" ReplaceString = "Bharath" NewString = Replace (MyString , FindString, ReplaceString, Start: = 34) MsgBox NewString End Sub 

Numai un lucru în plus pe care l-am adăugat din codul anterior este parametrul „Start” ca 34. Acum rulați codul și vedeți rezultatul.

Acum putem vedea doar șirul după cel de-al 34-lea caracter al șirului cu „India” înlocuind cu „Bharath”.

Exemplul # 4

Now for an example, if we want to replace only the first occurrence of the word “India” to “Bharath” then we need to use [“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 is a string function family in VBA.
  • In VBA, the replace function replaces all the supplied words with replaced string if the count parameter is not specified.
  • The start parameter will delete the number of characters supplied and show the remaining result.