A VBA -ban két karakterláncot hasonlíthat össze a Mint operátor, hogy ellenőrizze a karakterláncok illeszkedését. Ebben az oktatóanyagban megtudhatja, hogyan kell használni ezt az operátort különböző mintákkal.
Ha meg szeretné tanulni, hogyan kell összehasonlítani a karakterláncokat a VBA -ban, kattintson ide: VBA Húrok összehasonlítása - StrComp
Ha meg szeretné tanulni az összehasonlító operátorok használatát, kattintson ide: VBA összehasonlító operátorok - nem egyenlő és több
A Like operátor használata két karakterlánc összehasonlításához
A Like operátorral ellenőrizhetjük, hogy egy karakterlánc adott szöveggel kezdődik -e, tartalmazza -e, stb. Alapértelmezés szerint a Mint operátor összehasonlítja a karaktereket a Bináris módszerrel. Ez azt jelenti, hogy a kezelő megkülönbözteti a kis- és nagybetűket. Ha meg szeretné változtatni a kis- és nagybetűket, akkor fel kell tennie Opció Szöveg összehasonlítása a modul tetején. Ezzel a módszerrel a Mint az operátor ugyanazokat a karaktereket tekinti „S” és „s” karaktereknek. Példáinkban az alapértelmezett, kis- és nagybetűket megkülönböztető összehasonlítást fogjuk használni.
Ha létezik az egyezés, akkor a Mint az operátor ennek eredményeként igaz, vagy másként hamis értéket ad vissza.
Először is megnézzük azt az egyszerű példát, ahol ellenőrizni akarjuk, hogy a karakterlánc -változónk kezdődik -e úr. Ehhez csillagot (*) kell tenni a megfelelő szöveg végére (Úr*). Itt a kód:
1234567891011121314 | Sub LikeDemo ()Dim strName Mint karakterláncDim blnEredmény BooleankéntstrName = "Mr. Michael James"Ha strName Mint "Mr*" AkkorblnResult = IgazMásblnResult = HamisVége HaEnd Sub |
Ebben a példában azt szeretnénk ellenőrizni, hogy a karakterlánc strName -vel kezdődik úr és adja vissza az Igaz vagy hamis értéket a változóban blnEredmény.
Először állítsuk be az értékét strName nak nek Mr. Michael James:
1 | strName = "Mr. Michael James" |
Akkor használjuk a Mint operátor az If utasításban:
12345 | Ha strName Mint "Mr*" AkkorblnResult = IgazMásblnResult = HamisVége Ha |
Mint a strName -vel kezdődik úr, az blnEredmény igaz:
1. kép. A Like operátor segítségével ellenőrizheti, hogy a karakterlánc bizonyos karakterekkel kezdődik -e
A Like operátor használata különböző egyező mintákkal
A Like operátor ellenőrizheti két karakterlánc egyezését különböző minták alapján. Itt található a lehetséges egyezési minták listája:
Mintakód |
Az illesztés típusa |
* | 0 vagy több karakternek felel meg |
? | Egyetlen karakterhez illeszkedik |
# | Egyszámjegyű |
[karakterek] | Egyezik a karakterek listájának egyetlen karakterével |
[A-Z] | Illeszkedik az ábécé bármely nagybetűjéhez |
[A-Za-z] | Illeszkedik az ábécé bármely karakteréhez |
[! karakterek] | Egyetlen karakterrel illeszkedik, kivéve a karakterlistát |
Most láthatjuk, hogyan kell használni ezeket a mintákat a kódban. Íme a példa több mintára:
Egyetlen karakter egyezése:
1234567 | strText1 = "ABCDE"Ha strText1 Mint "AB? DE" AkkorblnResult1 = IgazMásblnResult1 = HamisVége Ha |
Egy számjegy egyezése:
1234567 | strText2 = "AB7DE"Ha strText2 Mint "AB#DE" AkkorblnResult2 = IgazMásblnResult2 = HamisVége Ha |
Bármely nagybetű egyezése az ábécéből:
1234567 | strText3 = "ABCDE"Ha strText3 Mint "AB [A-Z] DE" AkkorblnResult3 = IgazMásblnResult3 = HamisVége Ha |
Nem egyezik az ábécé nagybetűivel:
1234567 | strText4 = "AB7DE"Ha strText4 Mint "AB [! A-Z] DE" AkkorblnResult4 = IgazMásblnResult4 = HamisVége Ha |
Bármely karakter egyezése az ábécéből (nagy- vagy kisbetűs):
1234567 | strText5 = "ABcDE"Ha strText5 Mint "AB [A-Za-z] DE" AkkorblnResult5 = IgazMásblnResult5 = HamisVége Ha |
Amikor végrehajtja a kódot, láthatja, hogy a Mint az operátor a True in értéket adja vissza blnEredmény változók minden összehasonlításhoz:
2. kép. A Like operátor használata különböző illesztési mintákkal