VBA nagu operaator

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

wave wave wave wave wave