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 musíte niečo nahradiť alebo nahradiť niečím iným, spojiť údaje dvoch buniek do jednej alebo rozdeliť údaje jednej bunky do viacerých vecí. Toto sú všetko bežné úlohy, ktoré robíme každý deň na našom pracovisku.

Ako teda nahradíme jedno slovo v reťazci iným slovom? Napríklad ak je z tohto reťazca reťazec „India je rozvojová krajina a India v ázijskej krajine“, 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. Napríklad nižšie je výrazový reťazec - „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 (Expression) máme dve slová „India“, takže z ktorej pozície reťazca Find je potrebné 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?

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. Kdekoľvek 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 dodania reťazca výrazov, hľadania reťazcov a nahradenia reťazcov dodáme funkcii Nahradiť iba premennú.

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

Príklad č

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

  • Replace je rodina reťazcových funkcií vo VBA.
  • Ak vo VBA nie je zadaný parameter count, funkcia replace nahradí všetky dodané slová nahradeným reťazcom.
  • Počiatočný parameter vymaže zadaný počet znakov a zobrazí zostávajúci výsledok.

Zaujímavé články...