VBA poput operatora

U VBA možete usporediti dva niza pomoću Kao operator za provjeru podudarnosti nizova. U ovom ćete vodiču naučiti kako koristiti ovaj operator s različitim uzorcima.

Ako želite naučiti uspoređivati ​​nizove u VBA, kliknite ovdje: VBA Usporedi nizove - StrComp

Ako želite naučiti kako koristiti operatore za usporedbu, kliknite ovdje: VBA Operatori za usporedbu - nije jednako & više

Upotreba sličnog operatora za usporedbu dva niza

Pomoću operatora Like možemo provjeriti počinje li niz s određenim tekstom, uključuje li ga itd. Prema zadanim postavkama Kao operator uspoređuje znakove pomoću binarne metode. To znači da operator razlikuje velika i mala slova. Ako želite da ne razlikuje velika i mala slova, morate staviti Opcija Usporedi tekst na vrhu vašeg modula. Koristeći ovu metodu, Kao operator smatra da su "S" i "s" isti znakovi. U našim primjerima koristit ćemo zadanu usporedbu koja razlikuje mala i velika slova.

Ako podudaranje postoji, Kao operator vraća True kao rezultat, ili False u protivnom.

Prvo ćemo pogledati jednostavan primjer gdje želimo provjeriti počinje li naša nizova varijabla Gosp. Da biste to učinili, morate staviti zvjezdicu (*) na kraj odgovarajućeg teksta (G.*). Evo koda:

1234567891011121314 Sub LikeDemo ()Dim strName As StringDim blnResult Kao BooleanstrName = "Gospodin Michael James"Ako strName poput "Mr*" TadablnResult = IstinaDrugoblnResult = NetačnoZavrši akoKraj podm

U ovom primjeru želimo provjeriti je li string strName počinje sa Gosp i u varijablu vratiti True ili False blnResult.

Prvo smo postavili vrijednost strName do G. Michael James:

1 strName = "Gospodin Michael James"

Zatim koristimo Kao operator u naredbi If:

12345 Ako strName poput "Mr*" TadablnResult = IstinaDrugoblnResult = NetačnoZavrši ako

Kao što je strName počinje sa Gosp, blnResult vraća True:

Slika 1. Pomoću operatora Like provjerite počinje li niz s određenim znakovima

Korištenje sličnog operatora s različitim uzorcima podudaranja

Operator Like može provjeriti podudarnost dva niza na temelju različitih uzoraka. Evo popisa mogućih odgovarajućih uzoraka:

Kod uzorka

Vrsta podudaranja

*

Odgovara 0 ili više znakova

?

Odgovara jednom znaku

#

Odgovara jednoj znamenci

[znakovi]

Podudara se s jednim znakom s popisa znakova

[A-Z]

Odgovara bilo kojem velikom slovu iz abecede

[A-Za-z]

Odgovara bilo kojem znaku iz abecede

[! znakovi]

Podudara se s jednim znakom isključujući popis znakova

Sada možemo vidjeti kako koristiti te uzorke u kodu. Evo primjera za više uzoraka:

Podudaranje jednog znaka:

1234567 strText1 = "ABCDE"Ako strText1 poput "AB? DE" TadablnResult1 = IstinaDrugoblnResult1 = NetačnoZavrši ako

Podudaranje jedne znamenke:

1234567 strText2 = "AB7DE"Ako strText2 Kao "AB#DE" TadablnResult2 = IstinaDrugoblnResult2 = NetačnoZavrši ako

Podudaranje bilo kojeg velikog slova iz abecede:

1234567 strText3 = "ABCDE"Ako strText3 Kao "AB [A-Z] DE" ZatimblnResult3 = IstinaDrugoblnResult3 = NetačnoZavrši ako

Ne podudaraju se s velikim slovima iz abecede:

1234567 strText4 = "AB7DE"Ako strText4 Kao "AB [! A-Z] DE" TadablnResult4 = IstinaDrugoblnResult4 = NetačnoZavrši ako

Podudaranje bilo kojeg znaka iz abecede (velika ili mala slova):

1234567 strText5 = "ABcDE"Ako strText5 Kao "AB [A-Za-z] DE" TadablnResult5 = IstinaDrugoblnResult5 = NetačnoZavrši ako

Kada izvršite kôd, možete vidjeti da je Kao operator vraća True u blnResult varijable za svaku usporedbu:

Slika 2. Korištenje operatora Like s različitim uzorcima podudaranja

Vi ćete pomoći u razvoju web stranice, dijeljenje stranicu sa svojim prijateljima

wave wave wave wave wave