Operátor jako VBA (snadné příklady) | Jak používat „Líbí se mi“ v aplikaci Excel VBA?

VBA jako operátor

Like je operátor ve VBA a toto je operátor porovnání, který porovnává daný řetězec jako argument v sadě řetězců a odpovídá vzoru, pokud je vzor shodný, pak je získaný výsledek pravdivý a pokud vzor neodpovídá, pak získaný výsledek je nepravdivý, jedná se o vestavěný operátor ve VBA.

Operátor „LIKE“ je nejvíce využívaným operátorem i přes jeho skvělé využití. Neviděl jsem mnoho lidí, kteří používají tento operátor v plném rozsahu při kódování. Ve skutečnosti jsem jedním z nich, který tento operátor nepoužívá docela často. Operátor „VBA LIKE“ nám umožňuje porovnat vzor řetězce s celým řetězcem. Použitím operátoru VBA LIKE můžeme porovnat dva řetězce s daným vzorcem. Můžeme zkontrolovat, zda řetězec obsahuje podřetězec ve VBA, nebo můžeme také zjistit, zda řetězec obsahuje nějaký konkrétní formát. Pokud se vzorek shoduje s řetězcem, vrátí operátor VBA LIKE hodnotu TRUE nebo FALSE.

Při porovnávání řetězců potřebujeme použít zástupné znaky pro vzor, ​​který zadáme. Níže jsou zástupné znaky, které používáme v operátoru VBA LIKE.

  • Question Mark (?): This is used to match any one character from the string. Například pokud máme řetězec „CAT“ a vzor je „C? T“, vrátí operátor VBA LIKE hodnotu TRUE. Pokud je řetězec „CATCH a vzory jsou„ C? T “, vrátí operátor VBA LIKE FALSE.
  • Hvězdička (*): Shoduje se s nulovým nebo více znaky. Například pokud je řetězec „Dobrý“ a vzor je „G ** d“, operátor VBA LIKE vrátí TRUE.
  • Závorky ([]): Shoduje se s jakýmkoli jedním znakem uvedeným v závorkách.
  • [Char-Char]: Shoduje se s jakýmkoli jedním znakem v rozsahu Char-Char.
  • [! Znaky]: Toto odpovídá libovolnému jednomu znaku, který není v seznamu.
  • [! Char-Char]: Shoduje se s každým znakem, který není v rozsahu Char-Char.

Příklady operátora VBA LIKE

Podívejme se nyní na některé příklady operátora VBA LIKE.

Tuto šablonu VBA Like Excel si můžete stáhnout zde - Šablona VBA Like Excel

Příklad č. 1 - s otazníkem

Kód:

 Sub QuestionMark_Example1 () Dim k As String k = "Good" If k Like "Go? D" Then MsgBox "Yes" Else MsgBox "No" End If End Sub 

Ve výše uvedeném kódu jsme řetězec zadali jako „dobrý“ a vzor je „Go? D“. Protože se otazník může shodovat s jedním znakem, zobrazí výsledek jako „Ano“.

Nyní změním řetězec 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 tomto případě se zobrazí „Ne“, protože jsme do řetězce přidali ještě jedno slovo, tj. Ráno. Abychom mohli najít libovolný počet znaků, musíme použít hvězdičku.

Příklad č. 2 - S hvězdič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 

Ve výše uvedeném příkladu jsem přidal dvě hvězdičky před a za znak „* Dobrý *“. Toto se shoduje se slovem „Dobré“ v řetězci „Dobré ráno“ a vrátí se „Ano“.

Příklad č. 3 - S hranatými závorkami []

Kód:

 Sub QuestionMark_Example3 () Dim k As String k = "Good Morning" If k Like "* [M] *" Then MsgBox "Yes" Else MsgBox "No" End If End Sub 

Výše uvedený kód odpovídá jednomu písmenu uvedenému v závorce „M“ a vrátí výsledek jako Ano.

Příklad č. 4 - S hranatými závorkami a abecedami [AZ]

Kód:

 Sub QuestionMark_Example4 () Dim k As String k = "Good Morning" If k Like "* [AD] *" Then MsgBox "Yes" Else MsgBox "No" End If End Sub 

Ve výše uvedeném jsem zmínil znaky, které mají odpovídat od A do D.

To se vrátí „ne“, protože tam nejsou žádné znaky od A až D v řetězci „Good Morning“ .

Nyní změním vzor na [AH]

Kód:

 Sub QuestionMark_Example4 () Dim k As String k = "Good Morning" If k Like "* [AH] *" Then MsgBox "Yes" Else MsgBox "No" End If End Sub 

Tím se vrátí „Ano“, protože od A do H máme v řetězci „Dobré ráno“ znak „G“

Takto můžeme použít operátor VBA „LIKE“ k porovnání libovolného řetězce ze vzoru se zástupnými znaky.