Excel VBA: Kuidas asendada teksti stringis (5 tõhusat viisi)

  • Jaga Seda
Hugh West

Kui otsite võimalusi, kuidas teksti asendamine stringis kasutades Excelit VBA , siis leiate selle artikli kasulikuks. Teatud tekstiosa asendamine võib säästa palju aega tekstisõnade uuesti kirjutamisel. Niisiis, asume põhilise artikli juurde, et teada saada üksikasju selle asendamise ülesande kohta.

Lae alla töövihik

Teksti asendamine String.xlsm'is

5 võimalust teksti asendamiseks stringis Exceli VBA abil

Siin on meil järgmine andmestik, mis sisaldab mõningaid töötajate kirjeid koos nende e-posti id-dega. Meie ülesanne on asendada vanad domeeninimed uutega. Järgnevates meetodites töötame selle andmestikuga koos mõne juhusliku tekstisõnaga, et asendada soovitud tekstiga VBA koodid.

Me oleme kasutanud Microsoft Excel 365 versiooni siin, võite kasutada mis tahes muid versioone vastavalt oma mugavusele.

Meetod-01: Teksti asendamine alates n-ndast juhusliku stringi positsioonist

Siinkohal asendame teksti juhusliku tekstijada erinevate alguspunktide puhul.

Step-01 :

➤ Minge Arendaja Tab>> Kood Grupp>> Visual Basic Võimalus.

Siis on Visual Basic toimetaja avaneb.

➤ Minge Sisesta Tab>> Moodul Võimalus.

Pärast seda on Moodul luuakse.

Step-02 :

➤ Kirjutage järgmine kood

 Sub substitution_of_text_1() Dim full_txt_str, updated_str As String full_txt_str = "Sada autot Viiskümmend autot Kümme autot" updated_str = Replace(full_txt_str, "Cars", "Bicycles", 1) MsgBox updated_str End Sub 

Siinkohal oleme deklareerinud full_txt_str ja updated_str nagu String ja seejärel määratakse full_txt_str juhuslikule tekstistringile- "Sada autot Viiskümmend autot Kümme autot" . siis VBA REPLACE funktsioon kasutatakse, et asendada Autod osa sellest juhuslikust stringist koos Jalgrattad ja 1 kasutatakse siin asendamise alustamiseks positsioonist 1 selle stringi. Lõpuks määrasime selle uue tekstistringi aadressile updated_str ja sõnumikastiga ( MsgBox ) näeme tulemust.

➤ Press F5 .

Siis on sõnumikast ilmub uus tekstirida koos asendatud tekstiga Jalgrattad .

➤ Teise instantsi asendusprotsessi tegemiseks alates teisest instantsist Autod kasutada järgmist koodi.

 Sub substitution_of_text_1() Dim full_txt_str, updated_str As String full_txt_str = "Sada autot Viiskümmend autot Kümme autot" updated_str = Replace(full_txt_str, "Cars", "Bicycles", 14) MsgBox updated_str End Sub 

Siin oleme kasutanud lähtepositsiooni 14 sest me tahame, et stringi osa pärast Sada autot ja asendada Autod siin.

➤ Pärast töötab kood, siis on meil järgmine sõnumikast koos tekstistring alustades tekstist Viiskümmend ja koos Jalgrattad positsioonil Autod .

➤ Selleks, et saada ainult selle stringi viimane osa, rakendame järgmist koodi.

 Sub substitution_of_text_1() Dim full_txt_str, updated_str As String full_txt_str = "Sada autot Viiskümmend autot Kümme autot" updated_str = Replace(full_txt_str, "Cars", "Bicycles", 25) MsgBox updated_str End Sub 

Siin oleme kasutanud lähtepositsiooni 25 sest me tahame, et stringi osa pärast Viiskümmend autot ja asendada Autod koos Jalgrattad siin.

Lõpuks on meil sõnumikast kusjuures meie soovitud osa stringist on asendatud sõnaga Jalgrattad .

Loe lisaks: Excel VBA: tähise asendamine stringis positsiooni järgi (4 tõhusat viisi)

Meetod-02: Teksti asendamine juhusliku stringi n-nda esinemise jaoks Exceli VBA abil

Selles jaotises asendame teksti juhuslikus stringis erineva arvu esinemiste puhul, kasutades selleks VBA kood.

Sammud :

➤ Jälgi Step-01 aadressilt Meetod-1 .

➤ Sisestage järgmine kood.

 Sub substitution_of_text_2() Dim full_txt_str, updated_str As String full_txt_str = "Sada autot Viiskümmend autot Kümme autot" updated_str = Replace(full_txt_str, "Cars", "Bicycles", 1, 1) MsgBox updated_str End Sub 

Siinkohal oleme deklareerinud full_txt_str ja updated_str nagu String ja seejärel määratakse full_txt_str juhuslikule tekstistringile- "Sada autot Viiskümmend autot Kümme autot" . Pärast seda on REPLACE funktsioon kasutatakse, et asendada Autod osa sellest juhuslikust stringist koos Jalgrattad , 1 kasutatakse siin asendamise alustamiseks positsioonist 1 selle stringi ja lõpliku 1 on esinemiste arvu loendamiseks. Kasutades 1 kui loendavaks arvuks määratleme esimese asendamise Autod Lõpuks määrasime selle uue tekstiriba aadressile updated_str ja sõnumikastiga ( MsgBox ) näeme tulemust.

➤ Press F5 .

Pärast seda on sõnumikast ilmub koos uue tekstiga Jalgrattad aastal esimene positsioon aadressilt Autod ainult.

➤ Kahe esimese instantsi asendamiseks Autod koos Jalgrattad kasutada järgmist koodi.

 Sub substitution_of_text_2() Dim full_txt_str, updated_str As String full_txt_str = "Sada autot Viiskümmend autot Kümme autot" updated_str = Replace(full_txt_str, "Cars", "Bicycles", 1, 2) MsgBox updated_str End Sub 

Siin, 2 kasutatakse loendusnumbrina, et asendada esimesed kaks juhtumit Autod koos Jalgrattad .

Pärast koodi käivitamist on teil kahe esimese teksti asendus. Autod koos Jalgrattad .

➤ Rakendage järgmist koodi, et asendada kõik tekstiinstrumendid. Autod .

 Sub substitution_of_text_2() Dim full_txt_str, updated_str As String full_txt_str = "Sada autot Viiskümmend autot Kümme autot" updated_str = Replace(full_txt_str, "Cars", "Bicycles", 1, 3) MsgBox updated_str End Sub 

Siin on viimane argument REPLACE funktsioon on 3 mis on loendav number, mis näitab kõigi asendamist Autod koos Jalgrattad tekstistringis.

➤ Press F5 .

Pärast seda on meil järgmised sõnumikast asendatud tekstiga Jalgrattad stringis.

Sarnased lugemised

  • Kuidas asendada tekst Excelis veo tagasipöördumisega (4 sujuvat lähenemist)
  • Excel VBA: Kuidas leida ja asendada tekst Wordi dokumendis teksti
  • Kuidas asendada tekst pärast konkreetset märki Excelis (3 meetodit)
  • Asendage Exceli lahtri tekst tingimuse alusel (5 lihtsat meetodit)

Meetod-03: Teksti asendamine juhuslikus stringis InputBoxiga

Siinkohal asendame teatud teksti juhusliku stringi teksti, mille kasutaja määrab kasutaja abiga VBA InputBox funktsioon .

Sammud :

➤ Jälgi Step-01 aadressilt Meetod-1 .

➤ Sisestage järgmine kood.

 Sub substitution_of_text_3() Dim full_txt_str, new_txt, updated_str As String full_txt_str = "Sada autot Viiskümmend autot Kümme autot" new_txt = InputBox("Kirjuta uus tekst, mida asendada") updated_str = Replace(full_txt_str, "Autod", new_txt) MsgBox updated_str End Sub 

Siinkohal oleme deklareerinud full_txt_str , new_txt ja updated_str nagu String ja seejärel määratakse full_txt_str juhuslikule tekstistringile- "Sada autot Viiskümmend autot Kümme autot" . et kasutaja määratud sisend oleks tekst, mis asendatakse tekstiga Autod juhuslikus stringis, oleme kasutanud InputBox funktsioon ja seejärel määras selle väärtuse new_txt . siis REPLACE funktsioon kasutatakse, et asendada Autod osa sellest juhuslikust stringist koos new_txt Lõpuks määrasime selle uue tekstiriba aadressile updated_str ja sõnumikastiga ( MsgBox ) näeme tulemust.

➤ Press F5 .

Pärast seda on Sisendkast ilmub, kuhu saate sisestada mis tahes tekstiosa, mida soovite uues stringis kasutada.

➤ Tüüp Jalgrattad või mõni muu tekst, mida soovite, ja seejärel vajutage OK .

Lõpuks saate järgmise tulemuse, kus uus tekstirida on uue tekstiga Jalgrattad positsioonil Autod .

Loe lisaks: Kuidas asendada teksti Exceli valemiga (7 lihtsat viisi)

Meetod-04: Teksti asendamine stringide vahemikus Exceli VBAga

Siinkohal asendame me gmail osa e-kirjade identifikaatoritest koos domeenidega. Uus domeen veergu ja uute e-posti tunnuste kogumiseks oleme lisanud uue veeru; Lõplik e-posti aadress .

Sammud :

➤ Jälgi Step-01 aadressilt Meetod-1 .

➤ Sisestage järgmine kood.

 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 

Siinkohal oleme kasutanud FOR tsükkel et teostada operatsioon alates Rida 4 aadressile Rida 13 . abiga. IF-THEN avaldusega, oleme kontrollinud, kas e-posti tunnused on Veerg D sisaldavad "gmail" või mitte, ja selle kriteeriumi täitmiseks on vaja esitada "gmail" osa e-kirjade identifikaatoritest asendatakse uute domeenide domeenidega. Veerg E luua uued tunnused dokumendis Veerg F . Vastasel juhul on vastavate lahtrite tühjad lahtrid Veerg F .

➤ Press F5 .

Seejärel on teil uued e-posti id-diagrammid Lõplik e-posti aadress veerus.

Loe edasi: Exceli VBA teksti leidmiseks ja asendamiseks veerus (2 näidet)

Meetod-05: Teksti asendamine stringide vahemikus kasutaja sisendiga teksti leidmiseks

Saate asendada järgmised e-posti ids uute domeenide ja deklareerida, mida asendada eelmise ids kasutaja sisend saab kasutada, järgides seda meetodit.

Sammud :

➤ Jälgi Step-01 aadressilt Meetod-1 .

➤ Sisestage järgmine kood.

 Sub substitution_of_text_5() Dim partial_text As String partial_text = Application.InputBox("Enter the string to be replaced") 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 

Siinkohal oleme määratlenud partial_text kui String ja seejärel määrasime selle stringile, mille kasutaja annab läbi Sisendkast .

Pärast seda kasutasime FOR tsükkel et teostada operatsioon alates Rida 4 aadressile Rida 13 ja kasutades IF-THEN avaldusega, kontrollisime, kas e-posti tunnused on Veerg D sisaldavad "gmail" või mitte. Ja selle kriteeriumi täitmiseks on "gmail" osa e-kirjade identifikaatoritest asendatakse uute domeenide domeenidega. Veerg E luua uued tunnused dokumendis Veerg F . Vastasel juhul on vastavate lahtrite tühjad lahtrid Veerg F .

➤ Press F5 .

Pärast seda on teil Sisendkast kus tuleb sisestada tekst, mida soovite otsida e-posti id-de vahemikust (siin oleme sisestanud gmail ) ja seejärel vajutage OK .

Lõpuks, meil on meie uuendatud e-posti tunnused on Lõplik e-posti aadress veerus.

Loe edasi: Teksti leidmine ja asendamine vahemikus Exceli VBA abil (makro ja UserForm)

Praktika sektsioon

Selleks, et ise harjutada, on meil olemas Praktika lõik nagu allpool lehel nimega Praktika Palun tehke seda ise.

Kokkuvõte

Selles artiklis püüdsime katta võimalusi teksti asendamiseks stringis Exceli abil VBA Loodan, et see on teile kasulik. Kui teil on ettepanekuid või küsimusi, jagage neid julgelt kommentaaride sektsioonis.

Hugh West on suurte kogemustega Exceli koolitaja ja analüütik, kellel on selles valdkonnas üle 10-aastane kogemus. Tal on raamatupidamise ja rahanduse bakalaureusekraad ning ärijuhtimise magistrikraad. Hugh’l on kirg õpetamise vastu ning ta on välja töötanud ainulaadse õpetamisviisi, mida on lihtne järgida ja mõista. Tema Exceli ekspertteadmised on aidanud tuhandetel õpilastel ja spetsialistidel üle maailma oma oskusi parandada ja karjääris silma paista. Oma ajaveebi kaudu jagab Hugh oma teadmisi maailmaga, pakkudes tasuta Exceli õpetusi ja veebikoolitusi, mis aitavad üksikisikutel ja ettevõtetel oma potentsiaali täielikult ära kasutada.