Excel VBA: Tekstin korvaaminen merkkijonossa (5 tehokasta tapaa)

  • Jaa Tämä
Hugh West

Jos etsit tapoja korvaa tekstiä merkkijonossa käyttämällä Exceliä VBA Tietyn tekstin osan korvaaminen voi säästää paljon aikaa tekstin kirjoittamiselta uudelleen. Joten, siirrymme pääartikkeliin ja tutustumme yksityiskohtaisesti tähän korvaustehtävään.

Lataa työkirja

Korvaa teksti String.xlsm:ssä

5 tapaa korvata teksti merkkijonossa Excel VBA: n avulla

Meillä on tässä seuraava tietokokonaisuus, joka sisältää joitakin työntekijöiden tietueita ja heidän sähköpostitunnuksiaan. Tehtävämme on korvata vanhat verkkotunnukset uusilla. Seuraavissa menetelmissä käytämme tätä tietokokonaisuutta ja joitakin satunnaisia tekstisarjoja, joilla haluamme korvata halutun tekstin. VBA koodit.

Olemme käyttäneet Microsoft Excel 365 versiota tässä, voit käyttää mitä tahansa muita versioita haluamasi mukaan.

Menetelmä-01: Tekstin korvaaminen satunnaisen merkkijonon n-immäisestä kohdasta alkaen.

Tässä korvataan tekstiä satunnaisella merkkijonolla eri aloituspaikoissa.

Step-01 :

➤ Mene osoitteeseen Kehittäjä Tab>> Koodi Ryhmä>> Visual Basic Vaihtoehto.

Sitten Visual Basic Editor avautuu.

➤ Mene osoitteeseen Lisää Tab>> Moduuli Vaihtoehto.

Sen jälkeen Moduuli luodaan.

Step-02 :

➤ Kirjoita seuraava koodi

 Sub substitution_of_text_1() Dim full_txt_str, updated_str As String full_txt_str = "Sata autoa Viisikymmentä autoa Kymmenen autoa" updated_str = Replace(full_txt_str, "Autot", "Polkupyörät", 1) MsgBox updated_str End Sub 

Tässä olemme ilmoittaneet full_txt_str ja updated_str kuten merkkijono ja sitten annetaan full_txt_str satunnaiseen tekstijonoon - "Sata autoa Viisikymmentä autoa Kymmenen autoa" . Sitten VBA REPLACE-toiminto käytetään korvaamaan Autot osa tästä satunnaisesta merkkijonosta Polkupyörät ja 1 käytetään tässä aloitettaessa korvaaminen paikasta 1 Lopuksi olemme osoittaneet tämän uuden tekstijonon osoitteeseen updated_str ja viestikenttä ( MsgBox ) näemme tuloksen.

➤ Lehdistö F5 .

Sitten a viestikenttä tulee näkyviin uusi merkkijono, jossa on korvattu teksti. Polkupyörät .

➤ Jos haluat tehdä korvausprosessin toisesta instanssista nimellä Autot käytä seuraavaa koodia.

 Sub substitution_of_text_1() Dim full_txt_str, updated_str As String full_txt_str = "Sata autoa Viisikymmentä autoa Kymmenen autoa" updated_str = Replace(full_txt_str, "Autot", "Polkupyörät", 14) MsgBox updated_str End Sub 

Tässä olemme käyttäneet lähtökohtana 14 koska haluamme, että merkkijonon osa on merkkijonon jälkeen Sata autoa ja korvaa Autot täällä.

➤ Jälkeen käynnissä koodi, saamme seuraavan viestikenttä kanssa teksti merkkijono tekstistä alkaen Viisikymmentä ja Polkupyörät asemaan Autot .

➤ Jotta saamme vain tämän merkkijonon viimeisen osan, sovellamme seuraavaa koodia.

 Sub substitution_of_text_1() Dim full_txt_str, updated_str As String full_txt_str = "Sata autoa Viisikymmentä autoa Kymmenen autoa" updated_str = Replace(full_txt_str, "Autot", "Polkupyörät", 25) MsgBox updated_str End Sub 

Tässä olemme käyttäneet lähtökohtana 25 koska haluamme, että merkkijonon osa on merkkijonon jälkeen Viisikymmentä autoa ja korvaa Autot kanssa Polkupyörät täällä.

Lopuksi meillä on viestikenttä ja haluamamme merkkijonon osa korvataan komennolla Polkupyörät .

Lue lisää: Excel VBA: Merkin korvaaminen merkkijonossa sijainnin mukaan (4 tehokasta tapaa)

Menetelmä-02: Tekstin korvaaminen satunnaisen merkkijonon n-nen esiintymisellä Excel VBA:n avulla

Tässä osiossa korvaamme tekstin satunnaisella merkkijonolla eri esiintymismäärillä käyttäen apuna VBA koodi.

Askeleet :

➤ Seuraa Step-01 of Menetelmä-1 .

➤ Kirjoita seuraava koodi.

 Sub substitution_of_text_2() Dim full_txt_str, updated_str As String full_txt_str = "Sata autoa Viisikymmentä autoa Kymmenen autoa" updated_str = Replace(full_txt_str, "Autot", "Polkupyörät", 1, 1) MsgBox updated_str End Sub 

Tässä olemme ilmoittaneet full_txt_str ja updated_str kuten merkkijono ja sitten annetaan full_txt_str satunnaiseen tekstijonoon - "Sata autoa Viisikymmentä autoa Kymmenen autoa" . Sen jälkeen REPLACE-toiminto käytetään korvaamaan Autot osa tästä satunnaisesta merkkijonosta Polkupyörät , 1 käytetään tässä aloitettaessa korvaaminen paikasta 1 merkkijonon, ja lopullinen 1 on tarkoitettu esiintymien lukumäärän laskemiseen. Käyttämällä komentoa 1 laskennallisena numerona määrittelemme korvaavan ensimmäisen Autot Lopuksi olemme osoittaneet tämän uuden tekstijonon osoitteeseen updated_str ja viestikenttä ( MsgBox ) näemme tuloksen.

➤ Lehdistö F5 .

Sen jälkeen viestikenttä ilmestyy uusi teksti Polkupyörät vuonna ensimmäinen asema of Autot vain.

➤ Korvataksemme kaksi ensimmäistä tapausta nimellä Autot kanssa Polkupyörät käytä seuraavaa koodia.

 Sub substitution_of_text_2() Dim full_txt_str, updated_str As String full_txt_str = "Sata autoa Viisikymmentä autoa Kymmenen autoa" updated_str = Replace(full_txt_str, "Autot", "Polkupyörät", 1, 2) MsgBox updated_str End Sub 

Tässä, 2 käytetään laskentanumerona, jolla korvataan kaksi ensimmäistä kertaa esiintyvää Autot kanssa Polkupyörät .

Kun olet suorittanut koodin, sinulla on kahden ensimmäisen tekstin korvaava teksti Autot kanssa Polkupyörät .

➤ Käytä seuraavaa koodia korvataksesi kaikki tekstin esiintymät. Autot .

 Sub substitution_of_text_2() Dim full_txt_str, updated_str As String full_txt_str = "Sata autoa Viisikymmentä autoa Kymmenen autoa" updated_str = Replace(full_txt_str, "Autot", "Polkupyörät", 1, 3) MsgBox updated_str End Sub 

Tässä tapauksessa viimeinen argumentti REPLACE-toiminto on 3 joka on laskentanumero, joka ilmaisee, että kaikki kaikki Autot kanssa Polkupyörät tekstijonossa.

➤ Lehdistö F5 .

Sen jälkeen meillä on seuraavat tapahtumat viestikenttä korvatulla tekstillä Polkupyörät merkkijonossa.

Samanlaisia lukemia

  • Tekstin korvaaminen Excelissä (4 sileää lähestymistapaa)
  • Excel VBA: tekstin etsiminen ja korvaaminen Word-asiakirjassa
  • Kuinka korvata teksti tietyn merkin jälkeen Excelissä (3 menetelmää)
  • Vaihda solun teksti, joka perustuu Excelin ehtoon (5 helppoa menetelmää)

Menetelmä-03: Tekstin korvaaminen satunnaisessa merkkijonossa InputBoxilla

Tässä korvataan tietty teksti satunnaisesta merkkijonosta tekstillä, jonka käyttäjä määrittelee komennolla VBA InputBox-toiminto .

Askeleet :

➤ Seuraa Step-01 of Menetelmä-1 .

➤ Kirjoita seuraava koodi.

 Sub substitution_of_text_3() Dim full_txt_str, new_txt, updated_str As String full_txt_str = "Sata autoa Viisikymmentä autoa Kymmenen autoa" new_txt = InputBox("Kirjoita korvattava uusi teksti") updated_str = Replace(full_txt_str, "Autot", new_txt) MsgBox updated_str End Sub 

Tässä olemme ilmoittaneet full_txt_str , new_txt ja updated_str kuten merkkijono ja sitten annetaan full_txt_str satunnaiseen tekstijonoon - "Sata autoa Viisikymmentä autoa Kymmenen autoa" . Jos haluat, että käyttäjän määrittelemä syöttö on teksti, joka korvataan tekstillä Autot satunnaismerkkijonossa, olemme käyttäneet InputBox-toiminto ja osoitti tämän arvon sitten new_txt . Sitten REPLACE-toiminto käytetään korvaamaan Autot osa tästä satunnaisesta merkkijonosta new_txt Lopuksi olemme osoittaneet tämän uuden tekstijonon osoitteeseen updated_str ja viestikenttä ( MsgBox ) näemme tuloksen.

➤ Lehdistö F5 .

Sen jälkeen Syöttölaatikko tulee näkyviin, johon voit syöttää minkä tahansa tekstiosan, jonka haluat uuteen merkkijonoon.

➤ Tyyppi Polkupyörät tai muuta haluamaasi tekstiä ja paina sitten OK .

Lopuksi saat seuraavan tuloksen, jossa uudella tekstijonolla on uusi teksti. Polkupyörät asemaan Autot .

Lue lisää: Tekstin korvaaminen Excel-kaavassa (7 helppoa tapaa)

Menetelmä-04: Tekstin korvaaminen merkkijonojen alueella Excel VBA:lla

Tässä korvataan gmail osa sähköpostitunnuksista verkkotunnusten kanssa verkkotunnuksissa osoitteessa Uusi verkkotunnus sarakkeeseen, ja uusien sähköpostitunnusten keräämiseksi olemme lisänneet uuden sarakkeen; Lopullinen sähköpostiosoite .

Askeleet :

➤ Seuraa Step-01 of Menetelmä-1 .

➤ Kirjoita seuraava koodi.

 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 

Tässä on käytetty FOR-silmukka suorittamaan operaation osoitteesta Rivi 4 osoitteeseen Rivi 13 . IF-THEN lausekkeella olemme tarkistaneet, onko sähköpostitunnukset osoitteissa Sarake D sisältävät "gmail" tai ei, ja tämän kriteerin täyttymiseksi "gmail" osa sähköpostitunnuksista korvataan uusilla verkkotunnuksilla osoitteissa Sarake E luoda uudet tunnukset Sarake F . Muuten vastaavissa soluissa on tyhjä kenttä. Sarake F .

➤ Lehdistö F5 .

Tämän jälkeen sinulla on uudet sähköpostitunnukset osoitteessa Lopullinen sähköpostiosoite sarake.

Lue lisää: Excel VBA tekstin etsimiseen ja korvaamiseen sarakkeessa (2 esimerkkiä)

Menetelmä-05: Tekstin korvaaminen merkkijonojen alueella käyttäjän syötteellä tekstin etsimistä varten.

Voit korvata seuraavat sähköpostitunnukset uusilla verkkotunnuksilla ja ilmoittaa, mitä korvataan edellisissä tunnuksissa, ja käyttäjän syötettä voidaan käyttää tätä menetelmää noudattamalla.

Askeleet :

➤ Seuraa Step-01 of Menetelmä-1 .

➤ Kirjoita seuraava koodi.

 Sub substitution_of_text_5() Dim partial_text As String partial_text = Application.InputBox("Syötä korvattava merkkijono") 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 

Tässä on määritelty partial_text kuin merkkijono ja sen jälkeen määritetään se merkkijonoon, jonka käyttäjä antaa käyttäjän kautta. Syöttölaatikko .

Sen jälkeen käytimme FOR-silmukka suorittamaan operaation osoitteesta Rivi 4 osoitteeseen Rivi 13 ja käyttämällä IF-THEN lausekkeella tarkistimme, onko sähköpostitunnukset osoitteissa Sarake D sisältävät "gmail" tai ei. Ja tämän kriteerin täyttymiseksi "gmail" osa sähköpostitunnuksista korvataan uusilla verkkotunnuksilla osoitteissa Sarake E luoda uudet tunnukset Sarake F . Muuten vastaavissa soluissa on tyhjä kenttä. Sarake F .

➤ Lehdistö F5 .

Sen jälkeen sinulla on Syöttölaatikko jossa sinun on kirjoitettava teksti, jota haluat etsiä sähköpostitunnusten joukosta (tässä olemme kirjoittaneet gmail ) ja paina sitten OK .

Lopuksi, meillä on päivitetyt sähköpostitunnukset tiedostossa Lopullinen sähköpostiosoite sarake.

Lue lisää: Etsi ja korvaa teksti alueelta Excel VBA: lla (makro ja UserForm).

Harjoitusosio

Jotta voit harjoitella itse, olemme toimittaneet Harjoitus osiossa alla olevan kaltaisesti arkissa nimeltä Harjoitus Tee se itse.

Päätelmä

Tässä artikkelissa yritimme käsitellä tapoja korvata teksti merkkijonossa Excelin avulla. VBA Jos sinulla on ehdotuksia tai kysymyksiä, voit jakaa ne kommenttiosioon.

Hugh West on erittäin kokenut Excel-kouluttaja ja analyytikko, jolla on yli 10 vuoden kokemus alalta. Hän on koulutukseltaan laskentatoimen ja rahoituksen kandidaatti sekä kauppatieteiden maisteri. Hughilla on intohimo opettamiseen, ja hän on kehittänyt ainutlaatuisen opetusmenetelmän, jota on helppo seurata ja ymmärtää. Hänen asiantuntemuksensa Excelistä on auttanut tuhansia opiskelijoita ja ammattilaisia ​​maailmanlaajuisesti parantamaan taitojaan ja menestymään urallaan. Blogissaan Hugh jakaa tietämyksensä maailman kanssa tarjoamalla ilmaisia ​​Excel-opetusohjelmia ja verkkokoulutusta auttaakseen yksilöitä ja yrityksiä saavuttamaan täyden potentiaalinsa.