Skip to content

Kuinka palauttaa kaikki syötetyn tekstin osumat säännöllisellä lausekkeella Excelissä (esimerkki)

23 de elokuu de 2021
lupa sobre numeros

Useiden toimintojen joukossa, jotka voidaan saavuttaa koodaamalla makroja Excelissä, on mahdollisuus palauttaa kaikki tekstin osumat kunhan ne on asetettu parametreihin.

Toiminta ”Suorittaa”Käytetäänkö lauseketta palauttamaan kaikki Visual Basicissa luodun hakumerkkijonon sisältämät hakutulokset.

Visual Basicin ansiosta voit helpottaa työskentelyäsi Excelissä, koska tämän ohjelman avulla voit luoda makroja ja mukautettuja toimintoja. Samoilla makroilla voit tuoda tiedostonimiä tai kopioida tietoja yhdeltä taulukolta toiselle.

Mikä on säännöllisen lausekemallin tehtävä, joka huolehtii tekstin kaikkien vastaavuuksien palauttamisesta?

Ensimmäinen askel on luo regex -objekti nimetty funktio ”Ottelut” jossa parametrien avulla arvo löydetään solusta, johon henkilö on kirjoittanut.

Tavoite makrokoodin avulla, tämä palauttaa viestin löydetyistä osumista tekstissä erotuksella.

Koodaus funktion kuvion luomiseksi

On selvää, että seuraavaksi luotava säännöllinen lausekemalli on toiminto, joka vastaa taulukkoon syötettyjen tekstien validoinnista.

Pääsy ”Kehittäjä”Ja klikkaamalla”Visuaalinen perus”Luo ensimmäinen”Moduuli”Joka sisältää toiminnon koodin.

Aloitat asettamalla toiminnon alkamisen, antaa sille otteluiden nimen ja sulkeiden sisään on sijoitettava soluun syötetyn tekstin arvoparametrit merkkijonona.

Julkiset toiminnot vastaavat (ByVal -solu merkkijonona)

Kun tämä on tehty, voit alkaa kirjoittaa säännöllisen lausekkeen objektia, joka muodostaa jäsentämallin ja antaa sille haluamasi nimen (SS).

Aseta SS = CreateObject (”VBScript.RegExp”)

Aloita muuttuja, jonka nimeät tekstinä, jotta saat selville kaikki vastaavuudet löytyy, kun makro suoritetaan, joka on tyyppiä merkkijono ja aloitetaan nollasta.

Himmennä teksti merkkijonoksi

Teksti = ””

Seuraavaksi määrität säännöllisen lausekkeen ominaisuudet, joihin ne kaikki sijoitetaan tosi- ja kuvio on kirjaimet a – z, joihin liittyy summasymboli+”Voit myös jäsentää minkä tahansa muun tekstin merkkijonosta.

SS: n kanssa

.Global = Totta

.Multiline = Totta

.IgnoreCase = Totta

.Kuvio = ”[a-z]+ ”

Lopeta

Jos tekstissä on täsmäys, se on purettava käyttämällä suorittaatai muuten se näyttää viestin, jossa todetaan, että mitään ei löytynyt.

Jos etsit sisältöä, sinun on asetettava muuttuja, jonka nimeät löydetyksi sijoittaaksesi vastaavan solun arvon.

Huomaa, että jokainen löydetty osuma kulkee tässä esimerkissä annetulla auttajamuuttujalla ”x”rakenteessa”Jokaiselle”.

Jos SS.test (solu) Sitten

Joukko löytyi = SS.Toteuta (solu)

Jokaiselle x In löytyi

Aux = x

Jos teksti = ”” Sitten

Teksti = ylimääräinen

Muu

Teksti = teksti + ”| ”+ Yl

Loppu Jos

Seuraava x

Lopuksi se määrittää, että säännöllisen lausekkeen objektin arvo on teksti, joka syötetään soluun, tai asettaa viestin, jos vastaavuuksia ei löydy, toiminnon lopettamiseksi.

vihreä Excel -kuvake

Osumat = teksti

Muu

Osumat = ”Ei osumia”

Loppu Jos

Lopeta toiminto

Tuloskoodi

Jos haluat palauttaa kaikki tekstin osumat, uusi ”Moduuli”Luo koodi, joka näyttää solun sisällön analyysin tuloksen, joka toimii aiemmin luodun mallin mukaisesti.

Tähän lisätään kaksi muuttujaa nimeltä arvo ja merkkijonotyyppi jolle toiminnon arvot määritetään.

Alaosumat ()

Dim -arvo, merkkijono merkkijonona

Arvo = ActiveCell.Value

Merkkijono = vastaa (arvo)

MsgBox -merkkijono

End Sub

Tällä tavalla toiminto ja makro on saatu valmiiksi, ja voit testata lisäämällä sisältöä soluun, jossa on eri symboleja, ja avaamalla ”Makrot” painaa ”Juosta”Tietoja toiminnosta.

Se päättyy näyttämällä ikkuna, jossa vastaavuudet ovat vakiintuneiden parametrien sisällä ja erotettu toisistaan ​​disjunktion symbolilla.

Jos työskentelet tämän ohjelman kanssa, saatat jossain vaiheessa esittää virheen, mutta nämä on helppo ratkaista.