VBA Nahradiť reťazec | Ako nahradiť text v reťazci pomocou VBA?

Excel VBA Nahradiť reťazec

Nahradiť je funkcia pracovného hárka aj funkcia VBA. Táto funkcia nám pomáha nahradiť konkrétne slovo z reťazca iným reťazcom. Funguje to podobne ako funkcia Náhradník vo VBA.

Pri práci s hodnotami testovacích reťazcov alebo textových údajov je zrejmé, že je potrebné niečo nahradiť alebo nahradiť niečím iným, spojiť údaje dvoch buniek do jednej alebo rozdeliť údaje jednej bunky do viacerých vecí. To sú všetko bežné úlohy, ktoré dennodenne vykonávame na našom pracovisku.

Ako teda nahradíme jedno slovo v reťazci iným slovom? Napríklad ak je reťazec „India je rozvojová krajina a India v ázijskej krajine“, z tohto reťazca musíme nahradiť slovo „India“ a zmeniť ho na „Bharath“.

To je možné pomocou funkcie Nahradiť. V tomto článku si ukážeme, ako nahradiť reťazce v kódovaní VBA.

Vymeniť funkciu

  • Výraz: Toto nie je nič iné ako pôvodná hodnota reťazca, z ktorej sa snažíme niečo nahradiť niečím. Príklad uvedený nižšie je reťazec výrazu - „India je rozvojová krajina a India v ázijskej krajine“
  • Nájsť reťazec: Čo je to reťazec, ktorý sa snažíme nahradiť. Napríklad v reťazci Expression sa snažíme nahradiť slovo „India“.
  • Nahradiť reťazec: Aký je náhradný reťazec, ktorým nahradíme reťazec Nájsť ? V tomto prípade sa teda snažíme nahradiť slovo „India“ výrazom „Bharath“.
  • [Štart]: Toto je voliteľný parameter. Vo vyššie uvedenom reťazci (výraz) máme dve slová „India“, takže z ktorej pozície reťazca hľadania musíme spustiť proces výmeny. Napríklad, ak povieme 2, začne nahrádzať slovo „India“ od druhej pozície ďalej.
  • [Počet]: Ak sa reťazec Nájsť objaví vo výraze viackrát, potom koľko slov musíme nahradiť.

Napríklad ak sa slovo „India“ objaví 5-krát a ak zadáte počet ako 3, nahradí iba prvé 3 slová „India“.

Ako nahradiť text v reťazci pomocou VBA?

Túto šablónu VBA Replace String Excel si môžete stiahnuť tu - Šablóna VBA Replace String Excel

Príklad č

Teraz sa pokúsime nahradiť slovo „India“ výrazom „Bharath“ z hodnoty reťazca uvedenej nižšie.

„India je rozvojová krajina a India v ázijskej krajine“

Najskôr začnite postup makra programu Excel teraz.

Kód:

 Sub Replace_Example () End Sub 

Definujte premennú VBA ako String.

Kód:

 Sub Replace_Example () Dim NewString ako reťazec End Sub 

V tejto premennej ukážeme novú hodnotu reťazca po nahradení slova „India“ výrazom „Bharath“. Pre túto premennú otvorte funkciu Nahradiť.

Prvým argumentom tejto funkcie je „Výraz“, tj z ktorého reťazca sa snažíme nahradiť slovo, preto skopírujte a prilepte reťazec „India je rozvojová krajina a India v ázijskej krajine“.

Ďalším argumentom je „Nájsť reťazec“, tj. Ktoré slovo musíme nahradiť, tj „India“.

Ďalším argumentom je „Replace String“, tj. Ktorým reťazcom musíme nahradiť slovo „India“, teda „Bharath“.

Dobre, odteraz ignorujte zostávajúce argumenty. Teraz ukážte výsledok v okne správy.

Kód:

 Sub Replace_Example () Dim NewString As String NewString = Replace ("India je rozvojová krajina a India je ázijská krajina", "India", "Bharath") MsgBox NewString End Sub 

Spustíme kód pomocou klávesu F5 alebo ručne a pozrieme si nový výsledok reťazca.

Dobre, pozrite sa na vyššie uvedený výsledok, všade, kde sme mali slovo „India“, bolo nahradené slovom „Bharath“.

Príklad č

Teraz uvidíme, ako používať rovnaký kód s premennými. Pozrite sa na nasledujúci kód.

Kód:

 Sub Replace_Example1 () Dim NewString As String Dim MyString As String Dim FindString As String Dim ReplaceString As String MyString = "India je rozvojová krajina a India je ázijská krajina" FindString = "India" ReplaceString = "Bharath" NewString = Nahradiť (MyString , FindString, ReplaceString) MsgBox NewString End Sub 

Vo vyššie uvedenom kóde som deklaroval ďalšie tri premenné.

 Dim MyString ako reťazec Dim DimString ako reťazec Dim ReplaceString ako reťazec 

Pre tieto premenné som priradil hodnoty, namiesto toho, aby sme dodali Expression String, Find String a Replace String , dodáme do funkcie Replace iba premennú.

Tento kód tiež dáva rovnaký výsledok, ale jediný rozdiel je v tom, že namiesto priameho dodania hodnôt do funkcie sme použili premenné.

Príklad č

Predpokladajme, že chcete nahradiť slovo „India“ až z druhej pozície, potom musíme použiť parameter funkcie Nahradiť [„Štart“]. Ďalšie informácie nájdete v nižšie uvedenom kóde.

Kód:

 Sub Replace_Example2 () Dim NewString As String Dim MyString As String Dim FindString As String Dim ReplaceString As String MyString = "India je rozvojová krajina a India je ázijská krajina" FindString = "India" ReplaceString = "Bharath" NewString = Nahradiť (MyString , FindString, ReplaceString, Start: = 34) MsgBox NewString End Sub 

Iba jedna vec navyše, ktorú sme pridali z predchádzajúceho kódu, je parameter „Štart“ ako 34. Teraz spustite kód a pozrite si výsledok.

Teraz vidíme iba reťazec za 34. znakom reťazca, pričom slovo „India“ sa nahrádza textom „Bharath“.

Príklad č

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.