VBA Like Operator (enostavni primeri) | Kako uporabiti »Všeč mi je« v Excelu VBA?

VBA Like Operator

Like je operater v VBA, to pa je primerjalni operater, ki primerja dani niz kot argument v nizu nizov in se ujema z vzorcem; če se vzorec ujema, je dobljeni rezultat resničen in če se vzorec ne ujema, potem dobljeni rezultat je napačen, to je vgrajeni operater v VBA.

Operater “LIKE” je kljub svoji čudoviti uporabi najbolj premalo uporabljen operater. Nisem videl veliko ljudi, ki ta operater v celoti uporabljajo pri kodiranju, pravzaprav sem eden izmed njih, ki tega operaterja ne uporablja pogosto. Operator »VBA LIKE« nam omogoča, da vzorec niza primerjamo s celotnim nizom. Z uporabo operaterja VBA LIKE lahko primerjamo dva niza glede na vzorce. Preverimo lahko, ali niz vsebuje podniz v VBA, ali pa niz vsebuje kakšno določeno obliko. Če se vzorec ujema z nizom, operater VBA LIKE vrne TRUE ali FALSE.

Med ujemanjem nizov moramo v vzorcu, ki ga določimo, uporabiti nadomestne znake. Spodaj so nadomestni znaki, ki jih uporabljamo v operaterju VBA LIKE.

  • Vprašaj (?): Uporablja se za ujemanje katerega koli znaka iz niza. Če imamo na primer niz »CAT« in je vzorec »C? T«, potem operater VBA LIKE vrne TRUE. Če je niz »CATCH« in vzorci »C? T«, vrne operater VBA LIKE FALSE.
  • Zvezdica (*): Ujema se z nič ali več znaki. Če je na primer niz »Dober« in vzorec »G ** d«, operater VBA LIKE vrne TRUE.
  • Oklepaji ([]): Ujema se z enim samim znakom, navedenim v oklepajih.
  • [Char-Char]: Ujema se s katerim koli znakom v območju Char-Char.
  • [! Chars]: Ujema se s katerim koli znakom, ki ni na seznamu.
  • [! Char-Char]: Ujema se s katerim koli znakom, ki ni v območju Char-Char.

Primeri operaterja VBA LIKE

Oglejmo si nekaj primerov operaterja VBA LIKE zdaj.

To predlogo VBA Like Excel lahko prenesete tukaj - VBA Like Excel Predloga

1. primer - z vprašalnikom

Koda:

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

V zgornji kodi smo niz navedli kot »Dobro«, vzorec pa je »Go? D«. Ker se vprašaj lahko ujema z enim znakom, bo rezultat prikazan kot "Da".

Zdaj bom niz spremenil v "Dobro jutro".

Koda:

 Sub QuestionMark_Example1 () Dim k As String k = "Dobro jutro" Če k Všeč "Go? D" Potem MsgBox "Yes" Else MsgBox "No" End If End Sub 

V tem primeru bo prikazano »Ne«, ker smo v niz dodali še eno besedo, torej Jutro. Za ujemanje poljubnega števila znakov moramo uporabiti zvezdico.

2. primer - Z zvezdico

Koda:

 Sub QuestionMark_Example2 () Dim k As String k = "Dobro jutro" Če k Všeč "* Dobro *" Potem MsgBox "Yes" Else MsgBox "No" End If End Sub 

V zgornjem primeru sem pred in za znakom "* Dobro *" dodal dve zvezdici. To se bo ujemalo z besedo "Dobro" v nizu "Dobro jutro" in vrnilo "Da".

Primer # 3 - z oklepaji []

Koda:

 Sub QuestionMark_Example3 () Dim k As String k = "Dobro jutro" Če k Všeč "* [M] *" Potem MsgBox "Yes" Else MsgBox "Ne" End If End Sub 

Zgornja koda se ujema z eno črko, omenjeno v oklepaju "M", in rezultat vrne kot Da.

Primer # 4 - Z oklepaji in abecedami [AZ]

Koda:

 Sub QuestionMark_Example4 () Dim k As String k = "Dobro jutro" Če k Všeč "* [AD] *" Potem MsgBox "Yes" Else MsgBox "Ne" End If End Sub 

V zgornjem sem omenil znake, ki se ujemajo od A do D.

To bo vrnil "ne", ker ni nobenih znakov od A do D v niz "dobro jutro" .

Zdaj bom vzorec spremenil v [AH]

Koda:

 Sub QuestionMark_Example4 () Dim k As String k = "Dobro jutro" Če k Všeč "* [AH] *" Potem MsgBox "Yes" Else MsgBox "Ne" End If End Sub 

To bo vrnilo "Da", ker imamo od A do H znak "G" v nizu "Dobro jutro"

Tako lahko uporabimo operator VBA "LIKE", da poljuben niz iz vzorca povežemo z znaki nadomestnih znakov.