Operátor ako VBA

Vo VBA môžete porovnávať dva reťazce pomocou Páči sa mi to operátor skontroluje zhodu reťazcov. V tomto návode sa naučíte používať tento operátor s rôznymi vzormi.

Ak sa chcete dozvedieť, ako porovnávať struny vo VBA, kliknite sem: Porovnanie strún VBA - StrComp

Ak sa chcete dozvedieť, ako používať porovnávacie operátory, kliknite sem: Porovnávacie operátory VBA - nerovná sa a ďalšie

Použitie podobného operátora na porovnanie dvoch reťazcov

Pomocou operátora Like môžeme skontrolovať, či reťazec začína konkrétnym textom, obsahuje ho atď. Štandardne je Páči sa mi to operátor porovnáva znaky pomocou binárnej metódy. To znamená, že operátor rozlišuje veľké a malé písmena. Ak chcete, aby nerozlišoval malé a veľké písmená, musíte uviesť Možnosť Porovnať text v hornej časti modulu. Použitím tejto metódy Páči sa mi to operátor považuje „S“ a „s“ za rovnaké znaky. V našich príkladoch použijeme predvolené porovnanie rozlišujúce malé a veľké písmená.

Ak zhoda existuje, prípona Páči sa mi to operátor v dôsledku toho vráti hodnotu True alebo False v opačnom prípade.

Najprv sa pozrieme na jednoduchý príklad, kde chceme skontrolovať, či naša reťazcová premenná začína na Pán. Na tento účel musíte na koniec zodpovedajúceho textu vložiť hviezdičku (*) (Pán*). Tu je kód:

1234567891011121314 Sub LikeDemo ()Dim strName ako reťazecDim blnVýsledok ako booleovskýstrName = "Pán Michael James"Ak strName ako „Pán*“ PotomblnResult = PravdaInakblnResult = FalseKoniec AkKoniec pod

V tomto prípade chceme skontrolovať, či je reťazec strName zacina s Pán a vráťte v premennej hodnotu True alebo False blnVýsledok.

Najprv nastavíme hodnotu strName do Pán Michael James:

1 strName = "Pán Michael James"

Potom použijeme Páči sa mi to operátor vo vyhlásení If:

12345 Ak strName ako „Pán*“ PotomblnResult = PravdaInakblnResult = FalseKoniec Ak

Ako strName zacina s Pán, blnVýsledok vráti True:

Obrázok 1. Pomocou operátora Páči sa mi zistí, či reťazec začína určitými znakmi

Použitie operátora Like s rôznymi zhodnými vzormi

Operátor Like môže kontrolovať zhodu dvoch reťazcov na základe rôznych vzorov. Tu je zoznam možných zodpovedajúcich vzorov:

Kód vzoru

Typ zhody

*

Zodpovedá 0 alebo viac znakom

?

Zodpovedá jednému znaku

#

Zodpovedá jednej číslici

[znaky]

Zhoduje sa s jedným znakom zo zoznamu znakov

[A-Z]

Zodpovedá ľubovoľnému veľkému písmenu z abecedy

[A-Za-z]

Zodpovedá ľubovoľnému znaku z abecedy

[! chars]

Zhoduje sa s jedným znakom bez zoznamu znakov

Teraz vidíme, ako tieto vzory použiť v kóde. Tu je príklad pre viac vzorov:

Zhoda s jedným znakom:

1234567 strText1 = "ABCDE"Ak sa strText1 páči „AB? DE“, potomblnResult1 = PravdaInakblnResult1 = nepravdaKoniec Ak

Zodpovedajúce jednej číslici:

1234567 strText2 = "AB7DE"Ak sa strText2 páči „AB#DE“, potomblnResult2 = PravdaInakblnResult2 = nepravdaKoniec Ak

Zodpovedajúce akékoľvek veľké písmena z abecedy:

1234567 strText3 = "ABCDE"Ak strText3 ako „AB [A-Z] DE“, potomblnResult3 = PravdaInakblnResult3 = nepravdaKoniec Ak

Nezodpovedá žiadnemu veľkému písmenu z abecedy:

1234567 strText4 = "AB7DE"Ak sa strText4 páči „AB [! A-Z] DE“, potomblnResult4 = PravdaInakblnResult4 = nepravdaKoniec Ak

Zodpovedajúci ľubovoľný znak z abecedy (veľké alebo malé písmená):

1234567 strText5 = "ABcDE"Ak strText5 ako „AB [A-Za-z] DE“ PotomblnResult5 = PravdaInakblnResult5 = nepravdaKoniec Ak

Keď spustíte kód, uvidíte, že Páči sa mi to operátor vráti hodnotu True v blnVýsledok premenné pre každé porovnanie:

Obrázok 2. Použitie operátora Páči sa mi s rôznymi zhodnými vzormi

wave wave wave wave wave