Sisällysluettelo
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.