Excel VBA: Ako nahradiť text v reťazci (5 efektívnych spôsobov)

  • Zdieľajte To
Hugh West

Ak hľadáte spôsoby, ako nahradiť text v reťazci pomocou programu Excel VBA , potom bude pre vás tento článok užitočný. Nahradenie určitej časti textu môže ušetriť veľa času pri opätovnom písaní textových reťazcov. Poďme sa teda pustiť do hlavného článku, aby ste sa dozvedeli podrobnosti o tejto úlohe nahradenia.

Stiahnite si pracovný zošit

Nahradenie textu v reťazci String.xlsm

5 spôsobov nahradenia textu v reťazci pomocou programu Excel VBA

Máme tu nasledujúci súbor údajov obsahujúci niekoľko záznamov o zamestnancoch s ich e-mailovými identifikátormi. Našou úlohou je nahradiť staré názvy domén novými. V nasledujúcich metódach budeme pracovať s týmto súborom údajov spolu s niekoľkými náhodnými textovými reťazcami, ktorými nahradíme požadovaný text VBA kódy.

Použili sme Microsoft Excel 365 verziu, môžete použiť aj iné verzie podľa vlastného uváženia.

Metóda-01: Nahradenie textu začínajúceho na n-tej pozícii náhodného reťazca

V tomto prípade nahradíme text v náhodnom textovom reťazci pre rôzne počiatočné pozície.

Krok-01 :

➤ Prejdite na Vývojár Karta>> Kód Skupina>> Visual Basic Možnosť.

Potom sa Editor jazyka Visual Basic sa otvorí.

➤ Prejdite na Vložte Karta>> Modul Možnosť.

Potom sa Modul sa vytvorí.

Krok-02 :

➤ Napíšte nasledujúci kód

 Sub substitution_of_text_1() Dim full_txt_str, updated_str As String full_txt_str = "Sto áut Päťdesiat áut Desať áut" updated_str = Replace(full_txt_str, "Cars", "Bicycles", 1) MsgBox updated_str End Sub 

Tu sme vyhlásili. full_txt_str a updated_str ako String a potom priradené full_txt_str na náhodný textový reťazec- "Sto áut Päťdesiat áut Desať áut" . Potom VBA Funkcia REPLACE sa používa na nahradenie Autá časť tohto náhodného reťazca s Bicykle a 1 sa tu používa na spustenie nahradenia z pozície 1 tohto reťazca. Nakoniec sme tento nový textový reťazec priradili k updated_str a s oknom pre správu ( MsgBox ) uvidíme výsledok.

➤ Tlač F5 .

Potom a pole správy sa zobrazí nový textový reťazec s nahradeným textom Bicykle .

➤ Ak chcete vykonať proces nahradenia z druhej inštancie Autá použite nasledujúci kód.

 Sub substitution_of_text_1() Dim full_txt_str, updated_str As String full_txt_str = "Sto áut Päťdesiat áut Desať áut" updated_str = Replace(full_txt_str, "Cars", "Bicycles", 14) MsgBox updated_str End Sub 

Tu sme použili východiskovú pozíciu ako 14 pretože chceme mať časť reťazca za Sto áut a nahradiť Autá tu.

➤ Po beh kód, budeme mať nasledovné pole správy s textový reťazec vychádzajúc z textu Päťdesiat a s Bicykle v pozícii Autá .

➤ Aby sme mali k dispozícii len poslednú časť tohto reťazca, použijeme nasledujúci kód.

 Sub substitution_of_text_1() Dim full_txt_str, updated_str As String full_txt_str = "Sto áut Päťdesiat áut Desať áut" updated_str = Replace(full_txt_str, "Cars", "Bicycles", 25) MsgBox updated_str End Sub 

Tu sme použili východiskovú pozíciu ako 25 pretože chceme mať časť reťazca za Päťdesiat automobilov a nahradiť Autá s Bicykle tu.

Nakoniec budeme mať pole správy s našou požadovanou časťou reťazca, ktorá bude nahradená Bicykle .

Čítajte viac: Excel VBA: Nahradenie znaku v reťazci podľa pozície (4 účinné spôsoby)

Metóda-02: Nahradenie textu pre n-ty výskyt náhodného reťazca pomocou Excel VBA

V tejto časti nahradíme text v náhodnom reťazci pre rôzne počty výskytov pomocou VBA kód.

Kroky :

➤ sledovať Krok-01 z Metóda 1 .

➤ Zadajte nasledujúci kód.

 Sub substitution_of_text_2() Dim full_txt_str, updated_str As String full_txt_str = "Sto áut Päťdesiat áut Desať áut" updated_str = Replace(full_txt_str, "Cars", "Bicycles", 1, 1) MsgBox updated_str End Sub 

Tu sme vyhlásili. full_txt_str a updated_str ako String a potom priradené full_txt_str na náhodný textový reťazec- "Sto áut Päťdesiat áut Desať áut" Potom sa Funkcia REPLACE sa používa na nahradenie Autá časť tohto náhodného reťazca s Bicykle , 1 sa tu používa na spustenie nahradenia z pozície 1 tohto reťazca a konečný 1 slúži na počítanie počtu výskytov. 1 ako počítacie číslo definujeme nahradenie prvého Autá Nakoniec sme tento nový textový reťazec priradili k updated_str a s oknom pre správu ( MsgBox ) uvidíme výsledok.

➤ Tlač F5 .

Potom sa pole správy sa zobrazí nový text Bicykle v prvá pozícia z Autá iba.

➤ Na nahradenie prvých dvoch prípadov Autá s Bicykle použite nasledujúci kód.

 Sub substitution_of_text_2() Dim full_txt_str, updated_str As String full_txt_str = "Sto áut Päťdesiat áut Desať áut" updated_str = Replace(full_txt_str, "Cars", "Bicycles", 1, 2) MsgBox updated_str End Sub 

Tu, 2 sa používa ako počítacie číslo, ktoré nahrádza prvé dva prípady Autá s Bicykle .

Po spustení kódu sa zobrazí náhrada prvých dvoch textov Autá s Bicykle .

➤ Na nahradenie všetkých prípadov textu použite nasledujúci kód Autá .

 Sub substitution_of_text_2() Dim full_txt_str, updated_str As String full_txt_str = "Sto áut Päťdesiat áut Desať áut" updated_str = Replace(full_txt_str, "Cars", "Bicycles", 1, 3) MsgBox updated_str End Sub 

V tomto prípade je posledným argumentom Funkcia REPLACE je . 3 čo je počítacie číslo označujúce nahradenie všetkých Autá s Bicykle v textovom reťazci.

➤ Tlač F5 .

Potom budeme mať nasledovné pole správy s nahradeným textom Bicykle v reťazci.

Podobné čítania

  • Ako nahradiť text s návratom vozíka v programe Excel (4 hladké prístupy)
  • Excel VBA: Ako nájsť a nahradiť text v dokumente Word
  • Ako nahradiť text po určitom znaku v programe Excel (3 metódy)
  • Nahradenie textu bunky na základe podmienky v programe Excel (5 jednoduchých metód)

Metóda 03: Nahradenie textu v náhodnom reťazci pomocou vstupného poľa

V tomto prípade nahradíme určitý text náhodného reťazca textom, ktorý definuje používateľ pomocou príkazu Funkcia VBA InputBox .

Kroky :

➤ sledovať Krok-01 z Metóda 1 .

➤ Zadajte nasledujúci kód.

 Sub substitution_of_text_3() Dim full_txt_str, new_txt, updated_str As String full_txt_str = "Sto áut Päťdesiat áut Desať áut" new_txt = InputBox("Napíšte nový text, ktorý chcete nahradiť") updated_str = Replace(full_txt_str, "Cars", new_txt) MsgBox updated_str End Sub 

Tu sme vyhlásili. full_txt_str , new_txt a updated_str ako String a potom priradené full_txt_str na náhodný textový reťazec- "Sto áut Päťdesiat áut Desať áut" . Ak chcete, aby bol používateľom definovaný vstup ako text, ktorý sa má nahradiť Autá v náhodnom reťazci sme použili Funkcia InputBox a potom priradil túto hodnotu k new_txt . Potom Funkcia REPLACE sa používa na nahradenie Autá časť tohto náhodného reťazca s new_txt . Nakoniec sme tento nový textový reťazec priradili k updated_str a s oknom pre správu ( MsgBox ) uvidíme výsledok.

➤ Tlač F5 .

Potom sa Vstupné pole zobrazí sa okno, do ktorého môžete zadať ľubovoľnú časť textu, ktorú chcete mať v novom reťazci.

➤ Typ Bicykle alebo akýkoľvek iný text a potom stlačte OK .

Nakoniec získate nasledujúci výsledok s novým textovým reťazcom s novým textom Bicykle v pozícii Autá .

Prečítajte si viac: Ako nahradiť text vo vzorci programu Excel (7 jednoduchých spôsobov)

Metóda-04: Nahradenie textu v rozsahu reťazcov pomocou Excel VBA

Tu nahradíme gmail časť e-mailových identifikátorov s doménami v Nová doména a na zhromažďovanie nových e-mailových ID sme vložili nový stĺpec; Konečné e-mailové ID .

Kroky :

➤ sledovať Krok-01 z Metóda 1 .

➤ Zadajte nasledujúci kód.

 Sub substitution_of_text_4() For i = 4 To 13 If InStr(1, Cells(i, 4).Value, "gmail")> 0 Then Cells(i, 6).Value = Replace(Cells(i, 4).Value, "gmail", Cells(i, 5).Value) Else Cells(i, 6).Value = "" End If Next i End Sub 

Tu sme použili Cyklus FOR na vykonanie operácie z Riadok 4 na Riadok 13 S pomocou IF-THEN sme skontrolovali, či e-mailové id Stĺpec D obsahujú "gmail" alebo nie, a pre splnenie tohto kritéria "gmail" časť e-mailových identifikátorov bude nahradená novými doménami Stĺpec E na vytvorenie nových identifikátorov v Stĺpec F V opačnom prípade budú príslušné bunky prázdne. Stĺpec F .

➤ Tlač F5 .

Potom budete mať nové e-mailové id v Konečné e-mailové ID stĺpec.

Čítajte viac: Excel VBA na vyhľadávanie a nahrádzanie textu v stĺpci (2 príklady)

Metóda-05: Nahradenie textu v rozsahu reťazcov pomocou vstupu používateľa na vyhľadanie textu

Nasledujúce e-mailové id môžete nahradiť novými doménami a deklarovať, čo sa má nahradiť v predchádzajúcich id, pričom používateľský vstup sa môže použiť podľa tejto metódy.

Kroky :

➤ sledovať Krok-01 z Metóda 1 .

➤ Zadajte nasledujúci kód.

 Sub substitution_of_text_5() Dim partial_text As String partial_text = Application.InputBox("Zadajte reťazec, ktorý sa má nahradiť") For i = 4 To 13 If InStr(1, Cells(i, 4).Value, LCase(partial_text))> 0 Then Cells(i, 6).Value = Replace(Cells(i, 4).Value, LCase(partial_text), Cells(i, 5).Value) Else Cells(i, 6).Value = "" End If Next i End Sub 

Tu sme definovali partial_text ako String a potom ho priradiť reťazcu, ktorý používateľ zadá prostredníctvom Vstupné pole .

Potom sme použili Cyklus FOR na vykonanie operácie z Riadok 4 na Riadok 13 a pomocou IF-THEN sme skontrolovali, či e-mailové id Stĺpec D obsahujú "gmail" alebo nie. A pre splnenie tohto kritéria "gmail" časť e-mailových identifikátorov bude nahradená novými doménami Stĺpec E na vytvorenie nových identifikátorov v Stĺpec F V opačnom prípade budú príslušné bunky prázdne. Stĺpec F .

➤ Tlač F5 .

Potom budete mať k dispozícii Vstupné pole kde musíte zadať text, ktorý chcete vyhľadať v rozsahu e-mailových id (tu sme zadali gmail ) a potom stlačte OK .

Nakoniec máme naše aktualizované e-mailové id v Konečné e-mailové ID stĺpec.

Ďalšie informácie: Vyhľadanie a nahradenie textu v rozsahu pomocou programu Excel VBA (makro a užívateľský formulár)

Praktická časť

Na precvičovanie sme vám poskytli Prax sekciu ako nižšie v hárku s názvom Prax . Prosím, urobte to sami.

Záver

V tomto článku sme sa pokúsili pokryť spôsoby nahradenia textu v reťazci pomocou aplikácie Excel VBA . Dúfam, že vám to bude užitočné. Ak máte nejaké návrhy alebo otázky, neváhajte sa o ne podeliť v sekcii komentárov.

Hugh West je veľmi skúsený tréner a analytik Excelu s viac ako 10-ročnými skúsenosťami v tomto odvetví. Má bakalársky titul v odbore účtovníctvo a financie a magisterský titul v odbore Business Administration. Hugh má vášeň pre vyučovanie a vyvinul jedinečný vyučovací prístup, ktorý sa dá ľahko sledovať a pochopiť. Jeho odborné znalosti Excelu pomohli tisíckam študentov a profesionálov na celom svete zlepšiť svoje zručnosti a vyniknúť vo svojej kariére. Hugh sa prostredníctvom svojho blogu delí o svoje znalosti so svetom a ponúka bezplatné výukové programy Excelu a online školenia, ktoré jednotlivcom a firmám pomôžu naplno využiť ich potenciál.