Excel VBA: Kako zamenjati besedilo v nizu (5 učinkovitih načinov)

  • Deliti To
Hugh West

Če iščete načine za zamenjajte besedilo v nizu uporaba programa Excel VBA zamenjava določenega dela besedila lahko prihrani veliko časa pri ponovnem vnašanju besedilnih nizov. Zato pojdimo v glavni članek in spoznajmo podrobnosti o tem opravilu zamenjave.

Prenos delovnega zvezka

Zamenjava besedila v vrstici String.xlsm

5 načinov za zamenjavo besedila v nizu z uporabo programa Excel VBA

Tukaj imamo naslednji nabor podatkov, ki vsebuje nekaj zapisov o zaposlenih z njihovimi e-poštnimi imeni. Naša naloga je zamenjati stara imena domen z novimi. V naslednjih metodah bomo delali s tem naborom podatkov skupaj z nekaj naključnimi besedilnimi nizi, s katerimi bomo zamenjali želeno besedilo VBA kode.

Uporabili smo Microsoft Excel 365 različica tukaj, lahko pa uporabite katero koli drugo različico glede na vaše udobje.

Metoda-01: Zamenjajte besedilo, ki se začne na n-tem mestu naključnega niza

V tem primeru bomo nadomestili besedilo v naključnem besedilnem nizu za različne začetne položaje.

Korak-01 :

➤ Pojdite na Razvijalec zavihek>> Koda Skupina>> Visual Basic Možnost.

Nato se Urejevalnik Visual Basic se bo odprlo.

➤ Pojdite na Vstavite zavihek>> Modul Možnost.

Po tem je treba Modul bo ustvarjen.

Korak-02 :

➤ Napišite naslednjo kodo

 Sub substitution_of_text_1() Dim full_txt_str, updated_str As String full_txt_str = "Sto avtomobilov Petdeset avtomobilov Deset avtomobilov" updated_str = Replace(full_txt_str, "Cars", "Bicycles", 1) MsgBox updated_str End Sub 

Tukaj smo razglasili full_txt_str in . updated_str kot Niz in nato dodelili full_txt_str v naključni besedilni niz - "Sto avtomobilov Petdeset avtomobilov Deset avtomobilov" . Potem VBA Funkcija REPLACE se uporablja za zamenjavo Avtomobili del tega naključnega niza z Kolesa in . 1 se tukaj uporablja za začetek zamenjave s položaja 1 tega niza. Na koncu smo ta novi besedilni niz dodelili v updated_str in z okencem za sporočila ( MsgBox ) bomo videli rezultat.

➤ Tisk F5 .

Potem a polje za sporočila se bo pojavil nov besedilni niz z zamenjanim besedilom. Kolesa .

➤ Če želite postopek zamenjave iz drugega primera Avtomobili uporabite naslednjo kodo.

 Sub substitution_of_text_1() Dim full_txt_str, updated_str As String full_txt_str = "Sto avtomobilov Petdeset avtomobilov Deset avtomobilov" updated_str = Replace(full_txt_str, "Cars", "Bicycles", 14) MsgBox updated_str End Sub 

V tem primeru smo uporabili začetni položaj kot 14 ker želimo, da se del niza po Sto avtomobilov in zamenjajte Avtomobili tukaj.

➤ Po teče kodo, bomo imeli naslednje polje za sporočila z besedilni niz izhajajoč iz besedila Petdeset in z Kolesa v položaju Avtomobili .

➤ Za prikaz samo zadnjega dela tega niza uporabimo naslednjo kodo.

 Sub substitution_of_text_1() Dim full_txt_str, updated_str As String full_txt_str = "Sto avtomobilov Petdeset avtomobilov Deset avtomobilov" updated_str = Replace(full_txt_str, "Cars", "Bicycles", 25) MsgBox updated_str End Sub 

V tem primeru smo uporabili začetni položaj kot 25 ker želimo, da se del niza po Petdeset avtomobilov in zamenjajte Avtomobili s spletno stranjo . Kolesa tukaj.

Nazadnje bomo imeli polje za sporočila z želenim delom niza z zamenjavo z Kolesa .

Preberi več: Excel VBA: Zamenjajte znak v nizu po položaju (4 učinkoviti načini)

Metoda-02: Zamenjava besedila za n-ti pojav naključnega niza z uporabo programa Excel VBA

V tem razdelku bomo nadomestili besedilo v naključnem nizu za različno število pojavitev s pomočjo VBA koda.

Koraki :

➤ Sledite Korak-01 na spletnem mestu Metoda-1 .

➤ Vnesite naslednjo kodo.

 Sub substitution_of_text_2() Dim full_txt_str, updated_str As String full_txt_str = "Sto avtomobilov Petdeset avtomobilov Deset avtomobilov" updated_str = Replace(full_txt_str, "Cars", "Bicycles", 1, 1) MsgBox updated_str End Sub 

Tukaj smo razglasili full_txt_str in . updated_str kot Niz in nato dodelili full_txt_str v naključni besedilni niz - "Sto avtomobilov Petdeset avtomobilov Deset avtomobilov" Po tem je Funkcija REPLACE se uporablja za zamenjavo Avtomobili del tega naključnega niza z Kolesa , 1 se tukaj uporablja za začetek zamenjave s položaja 1 tega niza in končni 1 je namenjen štetju števila pojavitev. 1 kot števno število, s katerim določimo zamenjavo prvega Avtomobili Končno smo novemu besedilnemu nizu dodelili updated_str in z okencem za sporočila ( MsgBox ) bomo videli rezultat.

➤ Tisk F5 .

Po tem je bila polje za sporočila se prikaže novo besedilo Kolesa v prvi položaj na spletnem mestu Avtomobili samo.

➤ Za zamenjavo prvih dveh primerov Avtomobili s spletno stranjo . Kolesa uporabite naslednjo kodo.

 Sub substitution_of_text_2() Dim full_txt_str, updated_str As String full_txt_str = "Sto avtomobilov Petdeset avtomobilov Deset avtomobilov" updated_str = Replace(full_txt_str, "Cars", "Bicycles", 1, 2) MsgBox updated_str End Sub 

Tukaj, 2 se uporabi kot števno število za zamenjavo prvih dveh primerov Avtomobili s spletno stranjo . Kolesa .

Ko boste zagnali kodo, boste zamenjali prvi dve besedili Avtomobili s spletno stranjo . Kolesa .

➤ Za zamenjavo vseh primerov besedila uporabite naslednjo kodo Avtomobili .

 Sub substitution_of_text_2() Dim full_txt_str, updated_str As String full_txt_str = "Sto avtomobilov Petdeset avtomobilov Deset avtomobilov" updated_str = Replace(full_txt_str, "Cars", "Bicycles", 1, 3) MsgBox updated_str End Sub 

V tem primeru je zadnji argument Funkcija REPLACE je . 3 ki je števec, ki označuje zamenjavo vseh Avtomobili s spletno stranjo . Kolesa v besedilnem nizu.

➤ Tisk F5 .

Nato bomo imeli naslednje polje za sporočila z nadomeščenim besedilom Kolesa v nizu.

Podobna branja

  • Kako zamenjati besedilo z vrnitvijo vozička v Excelu (4 gladki pristopi)
  • Excel VBA: Kako poiskati in zamenjati besedilo v dokumentu Word
  • Kako zamenjati besedilo po določenem znaku v Excelu (3 metode)
  • Zamenjajte besedilo celice na podlagi pogoja v Excelu (5 enostavnih metod)

Metoda-03: Zamenjava besedila v naključnem nizu z vnosnim poljem

V tem primeru bomo določeno besedilo naključnega niza nadomestili z besedilom, ki ga bo določil uporabnik s pomočjo Funkcija VBA InputBox .

Koraki :

➤ Sledite Korak-01 na spletnem mestu Metoda-1 .

➤ Vnesite naslednjo kodo.

 Sub substitution_of_text_3() Dim full_txt_str, new_txt, updated_str As String full_txt_str = "Sto avtomobilov Petdeset avtomobilov Deset avtomobilov" new_txt = InputBox("Zapišite novo besedilo, ki ga želite nadomestiti") updated_str = Replace(full_txt_str, "Cars", new_txt) MsgBox updated_str End Sub 

Tukaj smo razglasili full_txt_str , new_txt in updated_str kot Niz in nato dodelili full_txt_str v naključni besedilni niz - "Sto avtomobilov Petdeset avtomobilov Deset avtomobilov" . Če želite, da je uporabniško opredeljen vnos besedilo, ki se nadomesti z Avtomobili v naključnem nizu smo uporabili Funkcija InputBox in nato to vrednost dodelil new_txt . Potem Funkcija REPLACE se uporablja za zamenjavo Avtomobili del tega naključnega niza z new_txt . Nazadnje smo ta novi besedilni niz dodelili v updated_str in z okencem za sporočila ( MsgBox ) bomo videli rezultat.

➤ Tisk F5 .

Po tem je treba Vnosno polje se prikaže okno, v katerem lahko vnesete poljuben del besedila, ki ga želite vključiti v nov niz.

➤ Vrsta Kolesa ali katero koli drugo želeno besedilo in nato pritisnite V REDU .

Na koncu boste dobili naslednji rezultat z novim besedilnim nizom z novim besedilom Kolesa v položaju Avtomobili .

Preberite več: Kako zamenjati besedilo v Excelovi formuli (7 preprostih načinov)

Metoda-04: Zamenjava besedila v območju nizov s programom Excel VBA

V tem primeru bomo nadomestili gmail del identifikatorjev e-pošte z domenami v Nova domena in za zbiranje novih e-naslovov smo vstavili nov stolpec; Končna e-poštna številka .

Koraki :

➤ Sledite Korak-01 na spletnem mestu Metoda-1 .

➤ Vnesite naslednjo kodo.

 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 

Pri tem smo uporabili zanka FOR za izvedbo operacije iz Vrstica 4 na . Vrstica 13 . S pomočjo IF-THEN smo preverili, ali so e-poštni identifikatorji Stolpec D vsebujejo "gmail" ali ne, za izpolnitev tega merila pa je "gmail" del e-naslovov bo nadomeščen z novimi domenami Stolpec E za ustvarjanje novih identifikatorjev v Stolpec F . V nasprotnem primeru boste imeli prazno mesto v ustreznih celicah Stolpec F .

➤ Tisk F5 .

Nato boste imeli nove e-poštne id v Končna e-poštna številka stolpec.

Preberi več: Excel VBA za iskanje in zamenjavo besedila v stolpcu (2 primera)

Metoda-05: Nadomeščanje besedila v območju nizov z uporabniškim vnosom za iskanje besedila

Naslednje id e-pošte lahko nadomestite z novimi domenami in navedete, kaj želite nadomestiti v prejšnjih id, uporabniški vnos pa lahko uporabite po tej metodi.

Koraki :

➤ Sledite Korak-01 na spletnem mestu Metoda-1 .

➤ Vnesite naslednjo kodo.

 Sub substitution_of_text_5() Dim partial_text As String partial_text = Application.InputBox("Vnesite niz, ki ga želite nadomestiti") 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 smo opredelili partial_text kot Niz in ga nato dodelil nizu, ki ga bo uporabnik posredoval prek Vnosno polje .

Nato smo uporabili zanka FOR za izvedbo operacije iz Vrstica 4 na . Vrstica 13 in z uporabo IF-THEN smo preverili, ali so elektronski naslovi Stolpec D vsebujejo "gmail" ali ne. In za izpolnitev tega merila "gmail" del e-naslovov bo nadomeščen z novimi domenami Stolpec E za ustvarjanje novih identifikatorjev v Stolpec F . V nasprotnem primeru boste imeli prazno mesto v ustreznih celicah Stolpec F .

➤ Tisk F5 .

Po tem boste imeli na voljo Vnosno polje kjer morate vnesti besedilo, ki ga želite poiskati v območju e-poštnih id (tukaj smo vnesli gmail ) in nato pritisnite V REDU .

Nazadnje imamo posodobljene e-poštne id v Končna e-poštna številka stolpec.

Preberi več: Poiščite in zamenjajte besedilo v območju z Excelovim programom VBA (makro in uporabniški obrazec)

Oddelek za prakso

Za samostojno izvajanje prakse smo pripravili Praksa kot spodaj v listu z imenom Praksa . Prosimo, da to storite sami.

Zaključek

V tem članku smo poskušali zajeti načine za zamenjavo besedila v nizu z Excelom. VBA . Upam, da vam bo koristilo. Če imate kakršne koli predloge ali vprašanja, jih lahko delite v razdelku s komentarji.

Hugh West je zelo izkušen trener Excela in analitik z več kot 10-letnimi izkušnjami v industriji. Po izobrazbi je diplomirani računovodstvo in finance ter magisterij poslovne administracije. Hugh ima strast do poučevanja in je razvil edinstven pristop k poučevanju, ki ga je enostavno slediti in razumeti. Njegovo strokovno znanje o Excelu je pomagalo na tisoče študentom in strokovnjakom po vsem svetu, da so izboljšali svoje sposobnosti in se izkazali v karieri. Prek svojega bloga Hugh deli svoje znanje s svetom, ponuja brezplačne vadnice za Excel in spletno usposabljanje, ki posameznikom in podjetjem pomaga doseči njihov polni potencial.