Kazalo
Č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.xlsm5 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.