VBA leidžia naudoti palyginimo operatorius vertėms palyginti. Naudodami šiuos operatorius galite palyginti vertes ir dėl to grąžinti loginę teisę arba klaidą.
Pagrindinių VBA palyginimo operatorių sąrašas
Pirmiausia parodysime palyginimo operatorių, kuriuos galima naudoti VBA kode, sąrašą:
Palyginimo operatorius | Paaiškinimas |
= |
Lygus |
Nelygu |
|
> |
Geresnis negu |
>= |
Didesnis ar lygus |
< |
Mažiau nei |
<= |
Mažiau arba lygu |
Lygus
The Lygus operatorius patikrina, ar dvi vertės yra lygios, ir grąžina „True“ arba „False“. Štai pavyzdinis kodas:
123456789101112 | Dim intA As IntegerDim intB As IntegerDim blnResult As BooleanintA = 5intB = 5Jei intA = intB TadablnResult = TiesaKitasblnResult = NetiesaPabaiga Jei |
Šiame pavyzdyje norime patikrinti, ar intA yra lygus intB. Jei tai tiesa, „Boolean“ vertė blnResult bus tiesa, kitu atveju tai bus melas.
Pirmiausia nustatome reikšmes intA ir intB iki 5:
12 | intA = 5intB = 5 |
Po to mes naudojame = operatorius If sakinyje, kad patikrintų, ar reikšmės intA ir intB yra lygūs:
12345 | Jei intA = intB TadablnResult = TiesaKitasblnResult = NetiesaPabaiga Jei |
Abu kintamieji yra lygūs 5, todėl blnResult grąžina tiesa:
Vaizdas 1. Naudojant „Equal To“ operatorių
Nelygu
The Ne Lygus operatorius patikrina, ar dvi reikšmės nėra lygios, ir grąžina „True“ arba „False“. Štai pavyzdinis kodas:
Įvyko klaida. Pabandykite dar kartą vėliau. |
Šiame pavyzdyje norime patikrinti, ar intA nėra lygus intB. Jei tai tiesa, „Boolean“ vertė blnResult bus tiesa, kitu atveju tai bus melas.
Mes naudojame operatorius If sakinyje, kad patikrintų, ar reikšmės intA ir intB yra skirtingi:
12345 | Jei intA intB TadablnResult = TiesaKitasblnResult = NetiesaPabaiga Jei |
Vertė intA yra 5 ir vertė intB yra 6, kintamieji nėra lygūs, todėl blnResult grąžina tiesa:
2 pav. Naudojant operatorių „Nelygu“
Geresnis negu
The Geresnis negu operatorius patikrina, ar pirmoji vertė yra didesnė už antrąją, ir grąžina „True“ arba „false“. Štai pavyzdinis kodas:
123456789101112 | Dim intA As IntegerDim intB As IntegerDim blnResult As BooleanintA = 6intB = 5Jei intA> intB TadablnResult = TiesaKitasblnResult = NetiesaPabaiga Jei |
Šiame pavyzdyje norime patikrinti, ar intA yra didesnis nei intB. Jei tai tiesa, „Boolean“ vertė blnResult bus tiesa, kitu atveju tai bus melas.
Be to, mes naudojame > operatorius If sakinyje, kad patikrintų, ar reikšmė intA yra didesnis nei intB:
12345 | Jei intA> intB TadablnResult = TiesaKitasblnResult = NetiesaPabaiga Jei |
Apibendrinant, kaipintA yra didesnis nei intB, blnResult grąžina tiesa:
3 paveikslas. Naudojant operatorių „Greater Than“
Didesnis ar lygus
The Didesnis ar lygus operatorius patikrina, ar pirmoji vertė yra didesnė ar lygi antrajai vertei, ir grąžina „True“ arba „false“. Štai pavyzdinis kodas:
123456789101112 | Dim intA As IntegerDim intB As IntegerDim blnResult As BooleanintA = 5intB = 5Jei intA> = intB TadablnResult = TiesaKitasblnResult = NetiesaPabaiga Jei |
Šiame pavyzdyje norime patikrinti, ar intA yra didesnis arba lygus intB. Jei tai tiesa, „Boolean“ vertė blnResult bus tiesa, kitu atveju tai bus melas.
Mes naudojame>= operatorius If sakinyje, kad patikrintų, ar intA yra didesnis arba lygus intB:
12345 | Jei intA> = intB TadablnResult = TiesaKitasblnResult = NetiesaPabaiga Jei |
Apibendrinant, kadangi abu kintamieji yra lygūs 5, blnResult grąžina tiesa:
4 paveikslas. Naudojant operatorių „didesnis nei lygus“
Mažiau nei
The Mažiau nei operatorius patikrina, ar pirmoji vertė yra mažesnė už antrąją, ir grąžina „True“ arba „false“. Štai pavyzdinis kodas:
123456789101112 | Dim intA As IntegerDim intB As IntegerDim blnResult As BooleanintA = 5intB = 6Jei intA <intB TadablnResult = TiesaKitasblnResult = NetiesaPabaiga Jei |
Šiame pavyzdyje norime patikrinti, ar intA mažiau nei intB. Jei tai tiesa, „Boolean“ vertė blnResult bus tiesa, kitu atveju tai bus melas.
Mes naudojame < operatorius If sakinyje, kad patikrintų, ar intA mažiau nei intB:
12345 | Jei intA <intB TadablnResult = TiesaKitasblnResult = NetiesaPabaiga Jei |
Kaip intA mažiau nei intB, blnResult grąžina tiesa:
Vaizdas 5. Naudojant operatorių Mažiau nei
Mažiau arba lygu
The Mažiau nei arba Lygus operatorius patikrina, ar pirmoji vertė yra mažesnė arba lygi, ir grąžina „True“ arba „false“. Štai pavyzdinis kodas:
123456789101112 | Dim intA As IntegerDim intB As IntegerDim blnResult As BooleanintA = 5intB = 5Jei intA <= intB TadablnResult = TiesaKitasblnResult = NetiesaPabaiga Jei |
Šiame pavyzdyje norime patikrinti, ar intA yra mažesnis arba lygus intB. Jei tai tiesa, „Boolean“ vertė blnResult bus tiesa, kitu atveju tai bus melas.
Mes naudojame <= operatorius If sakinyje, kad patikrintų, ar reikšmė intA yra mažesnis arba lygus intB:
12345 | Jei intA <= intB TadablnResult = TiesaKitasblnResult = NetiesaPabaiga Jei |
Apibendrinant, kadangi abu kintamieji yra lygūs 5, blnResult grąžina tiesa:
Vaizdas 6. Naudojant operatorių „Mažiau nei arba lygus“
Yra Operatorius
„Is Operator“ patikrina, ar dviejuose objekto kintamuosiuose yra tas pats objektas:
12345678910111213 | Sub CompareObjects ()Dim ws1 kaip darbalapis, ws2 kaip darbalapisNustatyti ws1 = Lakštai („Lapas1“)Nustatyti ws2 = Lakštai („Lapas2“)Jei ws1 Ar ws2 Tada„MsgBox“ „Tas pats WS“Kitas„MsgBox“ skirtingi WSPabaiga JeiPabaiga Sub |
Kaip Operatorė
„Like“ operatorius gali būti naudojamas netikslioms teksto atitiktims rasti. Šis pavyzdys patikrins, ar eilutė prasideda „Mr.“
1234567891011121314 | Sub LikeDemo ()Dim strName As StringDim blnResult As BooleanstrName = "Ponas Michaelas Jamesas"Jei strName Kaip „Ponas*“, tadablnResult = TiesaKitasblnResult = NetiesaPabaiga JeiPabaiga Sub |
Jei norite sužinoti, kaip palyginti stygas, spustelėkite čia: VBA Palyginti stygas - StrComp
Jei norite sužinoti, kaip naudotis palyginimo operatoriais, spustelėkite čia: VBA loginiai operatoriai