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