Operátor ako VBA (jednoduché príklady) Ako používať „Páči sa mi to“ v programe Excel VBA?

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.