VBA nagu operaator (lihtsad näited) Kuidas kasutada "Like" Exceli VBA-s?

Lang L: none (table-of-contents)

VBA nagu operaator

Like on operaator VBA-s ja see on võrdlusoperaator, mis võrdleb antud stringi stringi hulga argumendina ja sobib mustriga, kui muster sobib, on saadud tulemus tõene ja kui muster ei klapi, siis Saadud tulemus on vale, see on VBA sisseehitatud operaator.

Operaator LIKE on vaatamata suurepärasele kasutamisele enimkasutatud operaator. Ma pole näinud palju inimesi, kes seda operaatorit oma kodeerimisel täies ulatuses kasutavad. Tegelikult olen üks neist, kes ei kasuta seda operaatorit üsna tihti. Operaator “VBA LIKE” võimaldab meil sobitada stringi muster täieliku stringi järgi. Kasutades operaatorit VBA LIKE, saame võrrelda kahte stringi antud patteriga. Saame kontrollida, kas string sisaldab VBA-s alamstringi, või saame ka seda, kas string sisaldab mingit konkreetset vormingut. Kui muster sobib stringiga, tagastab operaator VBA LIKE väärtuse TRUE või muidu FALSE.

Stringide sobitamise ajal peame meie määratud patteri jaoks kasutama metamärke. Allpool on metamärgid, mida kasutame operaatoris VBA LIKE.

  • Küsimärk (?): Seda kasutatakse stringi mis tahes tähemärgi sobitamiseks. Näiteks kui meil on string „CAT” ja muster on „C? T”, tagastab operaator VBA LIKE TÕENE. Kui string on „CATCH ja mustrid on„ C? T ”, tagastab operaator VBA LIKE vale.
  • Tärn (*): see vastab nullile või enamale tähemärgile. Näiteks kui string on „Hea” ja muster on „G ** d”, tagastab operaator VBA LIKE TÕENE.
  • Sulgudes (()): see sobib üksikute sulgudes määratud tähemärkidega.
  • (Char-Char): see sobib ükskõik millise tähemärgiga vahemikus Char-Char.
  • (! Tähemärgid): see sobib kõigi üksikute märkidega, mida loendis pole.
  • (! Char-Char): see sobib ükskõik millise tähemärgiga, mis pole vahemikus Char-Char.

Näiteid VBA LIKE operaatorist

Vaatame nüüd VBA LIKE operaatori näiteid.

Näide 1 - küsimärgiga

Kood:

AlaküsimusMark_Example1 () Dim k As String k = "Hea", kui k meeldib "Go? D", siis MsgBox "Jah" Muu MsgBox "Ei" Lõpeta, kui End Sub

Ülaltoodud koodis oleme stringi pakkunud kui "Hea" ja muster on "Go? D". Kuna küsimärk võib sobida ühe tähemärgiga, näitab see tulemust „Jah”.

Nüüd muudan stringi nimeks “Tere hommikust”.

Kood:

AlaküsimusMark_Example1 () Dim k As String k = "Tere hommikust", kui k meeldib "Go? D", siis MsgBox "Jah" Muu MsgBox "Ei" End, kui End Sub

Sel juhul näitab see „Ei”, kuna oleme lisanud stringi veel ühe sõna, st Hommik. Mis tahes arvu märkide sobitamiseks peame kasutama tärni.

Näide # 2 - tärniga

Kood:

AlaküsimusMark_Example2 () Dim k As String k = "Tere hommikust" Kui k meeldib "* Hea *" Siis MsgBox "Jah" Muu MsgBox "Ei" Lõpeta, kui Lõpp Alam

Ülaltoodud näites olen enne tähemärki „* hea *” lisanud kaks tärni. See sobib stringi „Tere hommikust” sõnaga „Hea” ja tagastab sõna „Jah”.

Näide # 3 - sulgudega ()

Kood:

AlaküsimusMark_Näide3 () Dim k As String k = "Tere hommikust" Kui k meeldib "* (M) *" Siis MsgBox "Jah" Muu MsgBox "Ei" Lõpeta, kui Lõpp Alam

Ülaltoodud kood sobib sulgudes mainitud ühe tähega ja tagastab tulemuse kui Jah.

Näide 4 - sulgude ja tähestikega (AZ)

Kood:

AlaküsimusMark_Näide4 () Dim k As String k = "Tere hommikust" Kui k meeldib "* (AD) *" Siis MsgBox "Jah" Muu MsgBox "Ei" Lõpeta, kui Lõpp Alam

Eespool olen maininud märke, mis sobivad A-st D-ni.

Sellega tagastatakse „Ei”, kuna stringis „Tere hommikust” ei ole tähti A-st D-ni .

Nüüd muudan mustri (AH)

Kood:

AlaküsimusMark_Näide4 () Dim k As String k = "Tere hommikust" Kui k meeldib "* (AH) *" Siis MsgBox "Jah" Muu MsgBox "Ei" Lõpeta, kui lõpp alam

Sellega tagastatakse "Jah", sest A-st H-ni on meil stringis "Tere hommikust" märk "G".

Niimoodi saame kasutada VBA operaatorit “LIKE”, et sobitada mis tahes stringi mustrist metsakaardi tähemärkidega.

Huvitavad Artiklid...