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.

A teszt karaktersorozat vagy a szöveges adatértékek kezelése közben 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 vé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 ebből a szövegből áll: „India fejlődő ország, India pedig az ázsiai országban”, akkor le 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. Például az alábbiakban található a kifejezés karakterlánc - „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 kicserélni 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 szavunk van, az „India”, tehát a Keresés karakterlánc melyik pozíciójá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 az 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?

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 egy új karakterlánc értéket mutatunk, 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 a „Kifejezés”, vagyis 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 „India”.

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

Oké, mostantól 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ézd meg a fenti eredményt. Bárhol is volt az „India” szó, annak helyébe a „Bharath” szó lépett.

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ánk az Expression String, a String keresése és a Replace String szolgáltatást, csak a változó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

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

  • A Replace egy string függvénycsalád a VBA-ban.
  • A VBA-ban a cserefüggvény az összes mellékelt szót kicserélt sztringre cseréli, ha a count paraméter nincs megadva.
  • A start paraméter törli a megadott karakterek számát, és megjeleníti a fennmaradó eredményt.

érdekes cikkek...