VBA vam omogoča uporabo operaterjev za primerjavo za primerjavo vrednosti. Z uporabo teh operatorjev lahko primerjate vrednosti in posledično vrnete logično vrednost True ali False.
Seznam glavnih primerjalnih operaterjev v VBA
Najprej bomo prikazali seznam operaterjev za primerjavo, ki jih je mogoče uporabiti v kodi VBA:
Primerjalni operater | Pojasnilo |
= |
Enako |
Ni enako |
|
> |
Večji kot |
>= |
Večji ali enak |
< |
Manj kot |
<= |
Manj ali enako |
Enako
The Enako operator preveri, ali sta dve vrednosti enaki, in vrne True ali False. Tu je primer kode:
123456789101112 | Zatemni into kot celo številoZatemni intB kot celo številoDim blnResult Kot BooleanintA = 5intB = 5Če je intA = intB PotemblnResult = ResSicer pablnResult = FalseKonec Če |
V tem primeru želimo preveriti, če intA je enako intB. Če je to res, je vrednost Boolean blnResult bo res, sicer bo napačno.
Najprej določimo vrednosti intA in intB do 5:
12 | intA = 5intB = 5 |
Po tem uporabljamo = operator v stavku If preveri, ali so vrednosti intA in intB so enaki:
12345 | Če je intA = intB PotemblnResult = ResSicer pablnResult = FalseKonec Če |
Obe spremenljivki sta enaki 5, zato je blnResult vrne True:
Slika 1. Uporaba operaterja Equal To
Ni enako
The Ne Enako operator preveri, če dve vrednosti nista enaki, in vrne True ali False. Tu je primer kode:
Prišlo je do napake. Prosim poskusite kasneje. |
V tem primeru želimo preveriti, če intA ni enako intB. Če je to res, je vrednost Boolean blnResult bo res, sicer bo napačno.
Uporabljamo operator v stavku If preveri, ali so vrednosti intA in intB so različni:
12345 | Če intA intB PotemblnResult = ResSicer pablnResult = FalseKonec Če |
Vrednost intA je 5 in vrednost intB je 6, spremenljivke niso enake, zato je blnResult vrne True:
Slika 2. Uporaba operaterja Not Equal To
Večji kot
The Večji kot operator preveri, ali je prva vrednost večja od druge vrednosti, in vrne True ali False. Tu je primer kode:
123456789101112 | Zatemni into kot celo številoZatemni intB kot celo številoDim blnResult Kot BooleanintA = 6intB = 5Če je intA> intB PotemblnResult = ResSicer pablnResult = FalseKonec Če |
V tem primeru želimo preveriti, če intA je večji od intB. Če je to res, je vrednost Boolean blnResult bo res, sicer bo napačno.
Poleg tega uporabljamo > operator v stavku If, da preveri, ali je vrednost intA je večji od intB:
12345 | Če je intA> intB PotemblnResult = ResSicer pablnResult = FalseKonec Če |
Skratka, kotintA je večji od intB, blnResult vrne True:
Slika 3. Uporaba operaterja Greater Than
Večji ali enaki
The Večji ali enak operator preveri, ali je prva vrednost večja ali enaka drugi vrednosti, in vrne True ali False. Tu je primer kode:
123456789101112 | Zatemni into kot celo številoZatemni intB kot celo številoDim blnResult Kot BooleanintA = 5intB = 5Če je intA> = intB PotemblnResult = ResSicer pablnResult = FalseKonec Če |
V tem primeru želimo preveriti, če intA je večji ali enak intB. Če je to res, je vrednost Boolean blnResult bo res, sicer bo napačno.
Uporabljamo>= operator v stavku If preveri, ali je vrednost intA je večji ali enak intB:
12345 | Če je intA> = intB PotemblnResult = ResSicer pablnResult = FalseKonec Če |
Skratka, ker sta obe spremenljivki enaki 5, je blnResult vrne True:
Slika 4. Uporaba operaterja Višje ali enako
Manj kot
The Manj kot operator preveri, če je prva vrednost manjša od druge vrednosti, in vrne True ali False. Tu je primer kode:
123456789101112 | Zatemni into kot celo številoZatemni intB kot celo številoDim blnResult Kot BooleanintA = 5intB = 6Če je intA <intB PotemblnResult = ResSicer pablnResult = FalseKonec Če |
V tem primeru želimo preveriti, če intA je manj kot intB. Če je to res, je vrednost Boolean blnResult bo res, sicer bo napačno.
Uporabljamo < operator v stavku If preveri, ali je vrednost intA je manj kot intB:
12345 | Če je intA <intB PotemblnResult = ResSicer pablnResult = FalseKonec Če |
As intA je manj kot intB, blnResult vrne True:
Slika 5. Uporaba operaterja Manj kot
Manj ali enako
The Manj kot oz Enako operator preveri, ali je prva vrednost manjša ali enaka, in vrne True ali False. Tu je primer kode:
123456789101112 | Zatemni into kot celo številoZatemni intB kot celo številoDim blnResult Kot BooleanintA = 5intB = 5Če je intA <= intB PotemblnResult = ResSicer pablnResult = FalseKonec Če |
V tem primeru želimo preveriti, če intA je manjši ali enak intB. Če je to res, je vrednost Boolean blnResult bo res, sicer bo napačno.
Uporabljamo <= operator v stavku If preveri, ali je vrednost intA je manjši ali enak intB:
12345 | Če je intA <= intB PotemblnResult = ResSicer pablnResult = FalseKonec Če |
Skratka, ker sta obe spremenljivki enaki 5, je blnResult vrne True:
Slika 6. Uporaba operaterja Manj kot ali Enako To
Je Operater
Operator Is Operator preveri, če dve spremenljivki objektov vsebujeta isti predmet:
12345678910111213 | Sub CompareObjects ()Zatemni ws1 kot delovni list, ws2 kot delovni listSet ws1 = Listi ("List1")Set ws2 = Listi ("List2")Če je ws1 Is ws2 PotemMsgBox "Isti WS"Sicer paMsgBox "Različni WS -ji"Konec ČeEnd Sub |
Tako kot operater
Operater Like lahko uporabite za iskanje netočnih besedilnih ujemanj. Ta primer bo preizkusil, ali se niz začne z "Mr."
1234567891011121314 | Sub LikeDemo ()Dim strName As StringDim blnResult Kot BooleanstrName = "Gospod Michael James"Če strName kot "gospod*", potemblnResult = ResSicer pablnResult = FalseKonec ČeEnd Sub |
Če se želite naučiti primerjati strune, kliknite tukaj: VBA Primerjaj strune - StrComp
Če želite izvedeti, kako uporabljati operaterje za primerjavo, kliknite tukaj: VBA Logical Operators