VBA Like Operaattori

VBA: ssa voit verrata kahta merkkijonoa käyttämällä Kuten operaattori tarkistaa merkkijonojen yhteensopivuuden. Tässä opetusohjelmassa opit käyttämään tätä operaattoria eri malleilla.

Jos haluat oppia vertaamaan kieliä VBA: ssa, napsauta tätä: VBA Vertaa kieliä - StrComp

Jos haluat oppia käyttämään vertailuoperaattoreita, napsauta tätä: VBA -vertailuoperaattorit - ei yhtä ja muuta

Like -operaattorin käyttäminen kahden merkkijonon vertaamiseen

Like -operaattorin avulla voimme tarkistaa, alkaako merkkijono tietyllä tekstillä, sisältääkö se jne. Oletuksena Kuten operaattori vertaa merkkejä binaarimenetelmällä. Tämä tarkoittaa, että käyttäjä erottaa kirjaimet ja kirjaimet. Jos haluat tehdä kirjainkoosta erottamattoman, sinun on laitettava se Vaihtoehto Vertaa tekstiä moduulin yläosassa. Käyttämällä tätä menetelmää ,. Kuten operaattori pitää "S" ja "s" samoja merkkejä. Käytämme esimerkeissä oletusarvoista, kirjainkoolla merkitsevää vertailua.

Jos vastaavuus on olemassa, Kuten operaattori palauttaa tuloksena Tosi tai muuten epätosi.

Ensin tarkastelemme yksinkertaista esimerkkiä, jossa haluamme tarkistaa, alkaako merkkijonomuuttujamme Herra. Tätä varten sinun on asetettava tähti (*) vastaavan tekstin loppuun (Herra*). Tässä on koodi:

1234567891011121314 Sub LikeDemo ()Dim strName Kuten merkkijonoDim blnTulos Boolen muodossastrName = "Herra Michael James"Jos strName Kuten "Mr*" niinblnResult = TottaMuublnResult = VääräLoppu JosEnd Sub

Tässä esimerkissä haluamme tarkistaa, onko merkkijono strName alkaa jollakin Herra ja palauta muuttujaan True tai False blnTulos.

Ensinnäkin asetamme arvon strName kohteeseen Herra Michael James:

1 strName = "Herra Michael James"

Sitten käytämme Kuten operaattori If -lauseessa:

12345 Jos strName Kuten "Mr*" niinblnResult = TottaMuublnResult = VääräLoppu Jos

Kuten strName alkaa jollakin Herra, blnTulos palauttaa True:

Kuva 1. Tarkista Tykkää -operaattorin avulla, jos merkkijono alkaa tietyillä merkeillä

Like -operaattorin käyttäminen eri vastaavien kuvioiden kanssa

Tykkääjä -operaattori voi tarkistaa kahden merkkijonon yhteensopivuuden eri kuvioiden perusteella. Tässä on luettelo mahdollisista vastaavista malleista:

Kuvion koodi

Vastaavuustyyppi

*

Vastaa 0 tai enemmän merkkiä

?

Sopii yhteen merkkiin

#

Vastaa yhtä numeroa

[merkkiä]

Vastaa yhtä merkkiä char -luettelosta

[A-Z]

Vastaa mitä tahansa aakkosten isoa kirjainta

[A-Za-z]

Vastaa mitä tahansa aakkosten merkkiä

[! merkkiä]

Vastaa yhtä merkkiä, lukuun ottamatta char -luetteloa

Nyt voimme nähdä, miten näitä malleja käytetään koodissa. Tässä on esimerkki useista kuvioista:

Yksittäisen hahmon yhdistäminen:

1234567 strText1 = "ABCDE"Jos strText1 Kuten "AB? DE" niinblnResult1 = TottaMuublnResult1 = VääräLoppu Jos

Yhden numeron haku:

1234567 strText2 = "AB7DE"Jos strText2 Kuten "AB#DE", niinblnResult2 = TottaMuublnResult2 = VääräLoppu Jos

Mikä tahansa aakkosten iso kirjain:

1234567 strText3 = "ABCDE"Jos strText3 Kuten "AB [A-Z] DE", niinblnResult3 = TottaMuublnResult3 = VääräLoppu Jos

Ei vastaa aakkosen isoja kirjaimia:

1234567 strText4 = "AB7DE"Jos strText4 Kuten "AB [! A-Z] DE" SittenblnResult4 = TottaMuublnResult4 = VääräLoppu Jos

Mikä tahansa merkki aakkosesta (isot tai pienet):

1234567 strText5 = "ABcDE"Jos strText5 Kuten "AB [A-Za-z] DE", niinblnResult5 = TottaMuublnResult5 = VääräLoppu Jos

Kun suoritat koodin, näet, että Kuten operaattori palauttaa arvon True blnTulos muuttujia jokaiselle vertailulle:

Kuva 2. Käyttämällä Tykkää -operaattoria erilaisilla vastaavilla kuvioilla

wave wave wave wave wave