VBA -s saate kahte stringi võrrelda, kasutades Nagu operaator, et kontrollida stringide sobivust. Selles õpetuses saate teada, kuidas seda operaatorit erinevate mustritega kasutada.
Kui soovite õppida, kuidas VBA -s stringe võrrelda, klõpsake siin: VBA Võrdle stringe - StrComp
Kui soovite õppida võrdlusoperaatorite kasutamist, klõpsake siin: VBA võrdlusoperaatorid - pole võrdne ja palju muud
Like -operaatori kasutamine kahe stringi võrdlemiseks
Operaatori Like abil saame kontrollida, kas string algab konkreetse tekstiga, sisaldab seda jne. Vaikimisi Nagu operaator võrdleb märke Binaarse meetodi abil. See tähendab, et operaator on tõstutundlik. Kui soovite muuta seda väiketähtede suhtes tundmatuks, peate panema Valik Võrdle teksti mooduli ülaosas. Kasutades seda meetodit ,. Nagu operaator peab tähti "S" ja "s" samadeks märkideks. Oma näidetes kasutame vaikimisi võrdlust võrdluskirjaga.
Kui sobivus on olemas, Nagu operaator tagastab tulemuseks tõene või muul juhul vale.
Esiteks vaatame lihtsat näidet, kus tahame kontrollida, kas meie stringimuutuja algab tähega härra. Selleks tuleb vastava teksti lõppu panna tärn (*) (Härra*). Siin on kood:
1234567891011121314 | Sub LikeDemo ()Dim strName nagu stringDim blnTulemus BooleaninastrName = "Härra Michael James"Kui strName Nagu "Mr*" SiisblnResult = TõsiMuidublnResult = ValeLõpp KuiEnd Sub |
Selles näites tahame kontrollida, kas string strName algab härra ja tagastage muutujaga tõene või vale blnTulemus.
Esiteks määrame väärtuse strName et Härra Michael James:
1 | strName = "Härra Michael James" |
Siis kasutame Nagu operaator If -lauses:
12345 | Kui strName Nagu "Mr*" SiisblnResult = TõsiMuidublnResult = ValeLõpp Kui |
Nagu strName algab härra, blnTulemus tagastab tõene:
Pilt 1. Operaatori Like abil saate kontrollida, kas string algab teatud märkidega
Like operaatori kasutamine erinevate sobivate mustritega
Operaator Like saab kontrollida kahe stringi vastavust erinevate mustrite alusel. Siin on võimalike sobitamismustrite loend:
Mustri kood |
Sobivuse tüüp |
* | Sobib 0 või enama tähemärgiga |
? | Sobib ühe tähemärgiga |
# | Sobib ühekohalise numbriga |
[märgid] | Sobib sümbolite loendi ühe tähemärgiga |
[A-Z] | Sobib suvalise tähestiku suurtähega |
[A-Za-z] | Sobib mis tahes tähestiku tähemärgiga |
[! märgid] | Sobib ühe tähemärgiga, välja arvatud sümbolite loend |
Nüüd näeme, kuidas neid mustreid koodis kasutada. Siin on näide mitmest mustrist:
Üksiku tegelase sobitamine:
1234567 | strText1 = "ABCDE"Kui strText1 meeldib "AB? DE", siisblnResult1 = TõsiMuidublnResult1 = ValeLõpp Kui |
Üksiku numbri sobitamine:
1234567 | strText2 = "AB7DE"Kui strText2 meeldib "AB#DE", siisblnResult2 = TõsiMuidublnResult2 = ValeLõpp Kui |
Tähestiku mis tahes suurte tähtede sobitamine:
1234567 | strText3 = "ABCDE"Kui strText3 meeldib "AB [A-Z] DE" SiisblnResult3 = TõsiMuidublnResult3 = ValeLõpp Kui |
Ei vasta tähestiku suurtähtedele:
1234567 | strText4 = "AB7DE"Kui strText4 meeldib "AB [! A-Z] DE" SiisblnResult4 = TõsiMuidublnResult4 = ValeLõpp Kui |
Mis tahes tähestiku tähemärgi (suur- või väiketäht) sobitamine:
1234567 | strText5 = "ABcDE"Kui strText5 meeldib "AB [A-Za-z] DE" SiisblnResult5 = TõsiMuidublnResult5 = ValeLõpp Kui |
Koodi täitmisel näete, et Nagu operaator tagastab tõelise väärtuse blnTulemus muutujad iga võrdluse jaoks:
Pilt 2. Operaatori Like kasutamine erinevate sobitamismustritega