VBA Like Operator
A Like egy operátor a VBA-ban, és ez egy összehasonlító operátor, amely egy adott karakterláncot argumentumként hasonlít össze egy húrkészletben, és egyezik a mintával, ha a minta megegyezik, akkor a kapott eredmény igaz, és ha a minta nem egyezik, akkor a a kapott eredmény hamis, ez a VBA beépített operátora.
A „LIKE” operátor csodálatos használata ellenére a leginkább kihasználatlan operátor. Nem sok olyan embert láttam, aki ezt az operátort teljes mértékben használja a kódolásában. Valójában azok közé tartozom, akik nem használják gyakran ezt az operátort. A „VBA LIKE” operátor lehetővé teszi számunkra, hogy a karakterlánc mintáját a teljes karakterlánchoz igazítsuk. A VBA LIKE operátor használatával két húrot hasonlíthatunk össze a megadott mintával. Ellenőrizhetjük, hogy a karaktersorozat tartalmaz-e egy alszekciót a VBA-ban, vagy azt is, hogy tartalmaz-e a karakterlánc valamilyen formátumot. Ha a minta egyezik a karaktersorozattal, akkor a VBA LIKE operátor visszaadja az IGAZ vagy a HAMIS értéket.
A karakterláncok illesztése közben helyettesítő karaktereket kell használnunk az általunk megadott mintához. Az alábbiakban a VBA LIKE operátorban használt helyettesítő karakterek találhatók.
- Kérdőjel (?): Ez a karakterlánc bármelyik karakterének megfeleltetésére szolgál. Például, ha van egy „CAT” karakterlánc, és a minta „C? T”, akkor a VBA LIKE operátor az IGAZ értéket adja vissza. Ha a karakterlánc „CATCH” és a minták „C? T”, akkor a VBA LIKE operátor HAMIS értéket ad vissza.
- Csillag (*): Ez nulla vagy több karaktert tartalmaz. Például, ha a karakterlánc „Jó” és a minta „G ** d”, akkor a VBA LIKE operátor IGAZ értéket ad vissza.
- Zárójelek (()): Ez megfelel a zárójelben megadott bármelyik karakternek.
- (Char-Char): Ez megfelel a Char-Char tartomány egyetlen karakterének.
- (! Karakterek ): Ez megfelel a listán szereplő egyetlen karakternek.
- (! Char-Char): Ez megfelel minden olyan karakternek, amely nem tartozik a Char-Char tartományba.

Példák a VBA LIKE Operatorra
Most nézzük meg a VBA LIKE operátor néhány példáját.
1. példa - kérdőjellel
Kód:
Sub QuestionMark_Example1 () Dim k As String k = "Jó", ha k Like "Go? D", akkor MsgBox "Igen" Egyéb MsgBox "Nem" End, ha End Sub
A fenti kódban a karakterláncot „Jó” -ként adtuk meg, a minta pedig „Go? D”. Mivel a kérdőjel egyetlen karakterrel egyezhet, az eredmény „Igen”.

Most megváltoztatom a karakterláncot „Jó reggelt” -re.
Kód:
AlkérdésMark_Example1 () Dim k As String k = "Jó reggelt", ha k tetszik "Go? D", akkor MsgBox "Igen" Egyéb MsgBox "Nem" Vége, ha End Sub
Ebben az esetben a „Nem” felirat jelenik meg, mert még egy szót felvettünk a karakterláncba, azaz: Reggel. Bármennyi karakter egyezéséhez a csillagot kell használnunk.

2. példa - Asteriskkel
Kód:
Sub QuestionMark_Example2 () Dim k As String k = "Jó reggelt", ha k tetszik "* Jó *" Akkor MsgBox "Igen" Egyéb MsgBox "Nem" Vége, ha Vége Sub
A fenti példában két csillagot adtam hozzá a „* Jó *” karakter előtt és után. Ez egyezik a „Jó reggelt” karakterláncban a „Jó” szóval, és az „Igen” értéket adja vissza.

3. példa - zárójelekkel ()
Kód:
Sub QuestionMark_Példa3 () Dim k As String k = "Jó reggelt", ha k tetszik "* (M) *" Akkor MsgBox "Igen" Egyéb MsgBox "Nem" Vége, ha End Sub
A fenti kód megegyezik az „M” zárójelben említett egyetlen betűvel, és az eredményt Igenként adja vissza.

4. példa - zárójelekkel és ábécékkel (AZ)
Kód:
Sub QuestionMark_Example4 () Dim k As String k = "Jó reggelt", ha k tetszik "* (AD) *" Akkor MsgBox "Igen" Egyéb MsgBox "Nem" Vége, ha End Sub
A fentiekben megemlítettem azokat a karaktereket, amelyek A-tól D-ig illenek.
Ez „Nem” -et ad vissza, mert a „Jó reggelt” karakterláncban nincs karakter A-tól D-ig .

Most megváltoztatom a mintát (AH) -ra
Kód:
Sub QuestionMark_Példa4 () Dim k As String k = "Jó reggelt", ha k tetszik "* (AH) *" Akkor MsgBox "Igen" Egyéb MsgBox "Nem" Vége, ha End Sub
Ez az „Igen” értéket adja vissza, mert A-tól H-ig „G” karakter van a „Jó reggelt” karakterláncban.

Így használhatjuk a VBA „LIKE” operátort, hogy a minta bármely karakterláncát helyettesítsük a wild card karakterekkel.