VBA Replace String | Hogyan cseréljük le a szöveget a karakterláncban a VBA használatával?

Az Excel VBA karakterlánc cseréje

A Csere mind a munkalap, mind a VBA funkció. Ez a függvény segít abban, hogy a karakterlánc adott szavát egy másik karakterlánccal helyettesítsük. Hasonlóan működik, mint a VBA Substitute funkciója.

Míg teszt karaktersorozat vagy szöveges adatértékekkel foglalkozunk, kézenfekvő dolog valamit kicserélni vagy valamivel mással helyettesíteni, két cellaadatot egybe egyesíteni, vagy egy cellaadatot több dologra felosztani. Ezek mind gyakori feladatok, amelyeket nap mint nap elvégzünk a munkahelyünkön.

Szóval, hogyan cserélhetjük le a karakterlánc egyik szavát egy másikra? Például, ha a karakterlánc „India fejlődő ország és India az ázsiai országban”, akkor ebből a húrból ki kell cserélnünk az „India” szót, és „Bharath” -ra kell váltanunk.

Ez a Csere funkció használatával lehetséges. Ebben a cikkben megmutatjuk, hogyan cserélheti le a karakterláncokat a VBA kódolásban.

Cserélje le a funkciót

  • Kifejezés: Ez nem más, mint az eredeti karakterlánc-érték, amelyből megpróbálunk valamit helyettesíteni valamivel. Az alábbi példa a következő kifejezés: „India fejlődő ország, India pedig az ázsiai országban”
  • Karakterlánc keresése: Mi az a karaktersorozat, amelyet megpróbálunk cserélni. Például az Expression karakterláncban megpróbáljuk helyettesíteni az „India” szót.
  • String cseréje: Mi az a helyettesítő karakterlánc, amellyel a Keresés karakterláncot helyettesítjük ? Tehát ebben az esetben megpróbáljuk az „India” szót helyettesíteni a „Bharath” szóval.
  • [Start]: Ez egy opcionális paraméter. A fenti karakterláncban (Kifejezés) két szó található: „India”, tehát a Keresés karakterlánc melyik helyzetéből kell elindítanunk a helyettesítési folyamatot. Például, ha azt mondjuk, hogy 2, akkor a második pozíciótól kezdve az „India” szót helyettesíti.
  • [Count]: Ha a Keresés karakterlánc többször megjelenik az Expressionban, akkor hány szót kell cserélnünk.

Például, ha az „India” szó ötször jelenik meg, és ha a számot 3-ként adja meg, akkor csak az első 3 „India” szót helyettesíti.

Hogyan cseréljük le a szöveget a karakterláncban a VBA használatával?

Itt töltheti le ezt a VBA Replace String Excel Template - VBA Replace String Excel Template

1. példa

Most megpróbáljuk az „India” szót „Bharath” -ra cserélni az alábbi karakterláncértékből.

„India fejlődő ország, India pedig az ázsiai országban”

Először indítsa el most az excel makroeljárást.

Kód:

 Sub Replace_Példa () End Sub 

Határozza meg a VBA változót karakterláncként.

Kód:

 Sub Replace_Example () Dim NewString mint karakterlánc vége Sub 

Ebben a változóban új karakterlánc értéket fogunk mutatni, miután az „India” szót „Bharath” -ra cseréltük. Ehhez a változóhoz nyissa meg a Csere funkciót.

Ennek a függvénynek az első argumentuma az „Expression”, azaz melyik karakterláncból próbálunk szót helyettesíteni, ezért másolja és illessze be az „India fejlődő ország, India pedig az ázsiai országban” karakterláncot.

A következő érv a „String keresése”, azaz melyik szót kell cserélnünk, azaz az „India” szót.

A következő érv a „String cseréje”, azaz melyik karakterlánccal kell kicserélnünk az „India”, azaz „Bharath” szót.

Oké, most már hagyja figyelmen kívül a többi érvet. Most mutassa meg az eredményt az üzenetmezőben.

Kód:

 Sub Replace_Example () Dim NewString mint karakterlánc NewString = Replace ("India fejlődő ország, India pedig az ázsiai ország", "India", "Bharath") MsgBox NewString End Sub 

Futtassuk a kódot az F5 billentyűvel vagy manuálisan, és nézzük meg az új karakterlánc eredményét.

Ok, nézze meg a fenti eredményt, bárhol is volt az „India” szó, a „Bharath” szóra cserélték.

2. példa

Most meglátjuk, hogyan kell ugyanazt a kódot használni a változókkal. Nézze meg az alábbi kódot.

Kód:

 Sub Replace_Example1 () Dim NewString mint karakterlánc Dim MyString mint karakterlánc Dim FindString mint karakterlánc Dim ReplaceString As string MyString = "India fejlődő ország, India pedig az ázsiai ország" FindString = "India" ReplaceString = "Bharath" NewString = Replace (MyString , FindString, ReplaceString) MsgBox NewString End Sub 

A fenti kódban további három változót deklaráltam.

 Dim MyString mint karakterlánc Dim FindString mint karakterlánc Dim ReplaceString as string 

Ezekhez a változókhoz értékeket rendeltem, ahelyett, hogy megadnám az Expression String, a String keresése és a Replace String szolgáltatást, csak a váltót adjuk meg a Replace függvénynek.

Ez a kód ugyanazt az eredményt adja, de az egyetlen különbség az, hogy változókat használtunk a függvény közvetlen értékellátása helyett.

3. példa

Tegyük fel, hogy az „India” szót csak a második helyről szeretné lecserélni, akkor a Csere funkció paramétert kell használnunk [„Start”]. Nézze meg az alábbi kódot.

Kód:

 Sub Replace_Example2 () Dim NewString mint karakterlánc Dim MyString mint karakterlánc Dim FindString mint karakterlánc Dim ReplaceString As string MyString = "India fejlődő ország, India pedig az ázsiai ország" FindString = "India" ReplaceString = "Bharath" NewString = Replace (MyString , FindString, ReplaceString, Start: = 34) MsgBox NewString End Sub 

Csak egy extra dolog, amelyet az előző kódból adtunk hozzá, a „Start” paraméter, mint 34. Most futtassa a kódot, és tekintse meg az eredményt.

Most csak a karakterlánc 34. karaktere után láthatunk karakterláncot, amelynek „India” helyett „Bharath” szerepel.

4. példa

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.