Prevádzkovateľ ako VBA
Like je operátor vo VBA a toto je operátor porovnania, ktorý porovnáva daný reťazec ako argument v množine reťazcov a zodpovedá vzoru, ak sa vzor zhoduje, potom je získaný výsledok pravdivý a ak sa vzor nezhoduje, potom získaný výsledok je nepravdivý, jedná sa o zabudovaný operátor vo VBA.
Operátor „LIKE“ je najviac využívaným operátorom napriek jeho skvelému použitiu. Nevidel som veľa ľudí, ktorí používajú tento operátor v celom rozsahu pri svojom kódovaní. V skutočnosti som jedným z nich, ktorý tento operátor nepoužíva dosť často. Operátor „VBA LIKE“ nám umožňuje priradiť vzor reťazca k úplnému reťazcu. Použitím operátora VBA LIKE môžeme porovnať dva reťazce s daným vzorom. Môžeme skontrolovať, či reťazec obsahuje podreťazec vo VBA, alebo môžeme tiež skontrolovať, či reťazec obsahuje nejaký konkrétny formát. Ak sa vzor zhoduje s reťazcom, potom operátor VBA LIKE vráti hodnotu TRUE alebo FALSE.
Pri porovnávaní reťazcov musíme na určenie, ktoré zadáme, použiť zástupné znaky. Ďalej uvádzame zástupné znaky, ktoré používame v operátore VBA LIKE.
- Otáznik (?): Používa sa na priradenie ľubovoľného jedného znaku z reťazca. Napríklad, ak máme reťazec „CAT“ a vzor je „C? T“, vráti operátor VBA LIKE hodnotu TRUE. Ak je reťazec „CATCH a vzory sú„ C? T “, operátor VBA LIKE vráti FALSE.
- Hviezdička (*): Zhoda s nulovým alebo viac znakmi. Napríklad ak je reťazec „Dobrý“ a vzor „G ** d“, operátor VBA LIKE vráti TRUE.
- Zátvorky ([]): Zhoduje sa s každým jedným znakom uvedeným v zátvorkách.
- [Char-Char]: Zhoduje sa s každým jedným znakom v rozsahu Char-Char.
- [! Znaky]: Zhoduje sa s každým jedným znakom, ktorý nie je v zozname.
- [! Char-Char]: Zhoduje sa s každým jedným znakom, ktorý nie je v rozsahu Char-Char.
Príklady operátora VBA LIKE
Pozrime sa teraz na niektoré príklady operátora VBA LIKE.
Túto šablónu VBA Like Excel si môžete stiahnuť tu - Šablónu VBA Like Excel
Príklad č. 1 - s otáznikom
Kód:
Sub QuestionMark_Example1 () Dim k As String k = "Good" Ak k Like "Go? D" Then MsgBox "Yes" Else MsgBox "No" End if End Sub
Vo vyššie uvedenom kóde sme reťazec zadali ako „dobrý“ a vzor je „Go? D“. Pretože otáznik sa môže zhodovať s jedným znakom, zobrazí výsledok ako „Áno“.
Teraz zmením reťazec na „Dobré ráno“.
Kód:
Sub QuestionMark_Example1 () Dim k As String k = "Good Morning" If k Like "Go? D" Then MsgBox "Yes" Else MsgBox "No" End if End Sub
V takom prípade sa zobrazí „Nie“, pretože sme do reťazca pridali ešte jedno slovo, teda ráno. Ak chcete priradiť ľubovoľný počet znakov, musíme použiť hviezdičku.
Príklad č. 2 - s hviezdičkou
Kód:
Sub QuestionMark_Example2 () Dim k As String k = "Good Morning" If k Like "* Good *" Then MsgBox "Yes" Else MsgBox "No" End if End Sub
Vo vyššie uvedenom príklade som pridal dve hviezdičky pred a za znak „* Good *“. Toto sa zhoduje so slovom „Dobré“ v reťazci „Dobré ráno“ a vráti sa „Áno“.
Príklad č. 3 - s zátvorkami []
Kód:
Sub QuestionMark_Example3 () Dim k As String k = "Dobré ráno" Ak k Páči sa "* [M] *" Potom MsgBox "Áno" Else MsgBox "Nie" Koniec Ak Koniec Sub
Vyššie uvedený kód sa zhoduje s jedným písmenom uvedeným v zátvorke „M“ a vráti výsledok ako Áno.
Príklad č. 4 - so zátvorkami a abecedami [AZ]
Kód:
Sub QuestionMark_Example4 () Dim k As String k = "Dobré ráno" Ak k Páči sa mi to * * [AD] * "Potom MsgBox" Áno "Else MsgBox" Nie "Koniec Ak Koniec Sub
Vo vyššie uvedenom texte som spomenul znaky, ktoré sa majú zhodovať od A po D.
To sa vráti "nie", pretože tam nie sú žiadne znaky od A až D v reťazci "Good Morning" .
Teraz zmením vzor na [AH]
Kód:
Sub QuestionMark_Example4 () Dim k As String k = "Dobré ráno" Ak k Páči sa mi "* [AH] *" Potom MsgBox "Áno" Else MsgBox "Nie" Koniec Ak Koniec Sub
Týmto sa vráti „Áno“, pretože od A do H máme v reťazci „Dobré ráno“ znak „G“.
Takto môžeme použiť operátor VBA „LIKE“ na priradenie ľubovoľného reťazca zo vzoru k zástupným znakom.