VBA låter dig använda jämförelseoperatorer för att jämföra värden. Genom att använda dessa operatörer kan du jämföra värden och returnera en booleskt sant eller falskt som ett resultat.
Listan över de viktigaste jämförelseoperatörerna i VBA
Först kommer vi att visa listan över jämförelseoperatorer som kan användas i VBA -kod:
Jämförelseoperatör | Förklaring |
= |
Lika med |
Inte lika med |
|
> |
Större än |
>= |
Större än eller lika med |
< |
Mindre än |
<= |
Mindre än eller lika med |
Lika med
De Lika med operator kontrollerar om två värden är lika och returnerar True eller False. Här är exempelkoden:
123456789101112 | Dim intA som heltalDim intB som heltalDim blnResult As BooleanintA = 5intB = 5Om intA = intB DåblnResult = SantAnnanblnResult = FalsktAvsluta om |
I det här exemplet vill vi kontrollera om intA är lika med intB. Om detta är sant, värdet av booleskt blnResult kommer att vara sant, annars blir det falskt.
Först sätter vi värden på intA och intB till 5:
12 | intA = 5intB = 5 |
Efter det använder vi = operatören i if -satsen för att kontrollera om värdena för intA och intB är jämlika:
12345 | Om intA = intB DåblnResult = SantAnnanblnResult = FalsktAvsluta om |
Båda variablerna är lika med 5, därför är blnResult returnerar True:
Bild 1. Använda Equal To -operatören
Inte lika med
De Inte Lika med operator kontrollerar om två värden inte är lika och returnerar True eller False. Här är exempelkoden:
Ett fel har uppstått. Vänligen försök igen senare. |
I det här exemplet vill vi kontrollera om intA är inte lika med intB. Om detta är sant, värdet av booleskt blnResult kommer att vara sant, annars blir det falskt.
Vi använder operatören i if -satsen för att kontrollera om värdena för intA och intB är olika:
12345 | Om intA intB DåblnResult = SantAnnanblnResult = FalsktAvsluta om |
Värdet av intA är 5 och värdet på intB är 6, är variablerna inte lika, därför är blnResult returnerar True:
Bild 2. Använda operatorn Not Equal To
Större än
De Större än operator kontrollerar om det första värdet är större än det andra värdet och returnerar True eller False. Här är exempelkoden:
123456789101112 | Dim intA som heltalDim intB som heltalDim blnResult As BooleanintA = 6intB = 5Om intA> intB DåblnResult = SantAnnanblnResult = FalsktAvsluta om |
I det här exemplet vill vi kontrollera om intA är större än intB. Om detta är sant, värdet av booleskt blnResult kommer att vara sant, annars blir det falskt.
Dessutom använder vi > operatören i if -satsen för att kontrollera om värdet på intA är större än intB:
12345 | Om intA> intB DåblnResult = SantAnnanblnResult = FalsktAvsluta om |
Sammanfattningsvis, somintA är större än intB, blnResult returnerar True:
Bild 3. Använda mer än operatören
Större än eller lika med
De Större än eller lika med operator kontrollerar om det första värdet är större än eller lika med det andra värdet och returnerar True eller False. Här är exempelkoden:
123456789101112 | Dim intA som heltalDim intB som heltalDim blnResult As BooleanintA = 5intB = 5Om intA> = intB DåblnResult = SantAnnanblnResult = FalsktAvsluta om |
I det här exemplet vill vi kontrollera om intA är större än eller lika med intB. Om detta är sant, värdet av booleskt blnResult kommer att vara sant, annars blir det falskt.
Vi använder>= operatören i if -satsen för att kontrollera om värdet på intA är större än eller lika med intB:
12345 | Om intA> = intB DåblnResult = SantAnnanblnResult = FalsktAvsluta om |
Sammanfattningsvis, eftersom båda variablerna är lika med 5, är blnResult returnerar True:
Bild 4. Använda operatorn Större än eller lika med
Mindre än
De Mindre än operator kontrollerar om det första värdet är mindre än det andra värdet och returnerar True eller False. Här är exempelkoden:
123456789101112 | Dim intA som heltalDim intB som heltalDim blnResult As BooleanintA = 5intB = 6Om intA <intB DåblnResult = SantAnnanblnResult = FalsktAvsluta om |
I det här exemplet vill vi kontrollera om intA är mindre än intB. Om detta är sant, värdet av booleskt blnResult kommer att vara sant, annars blir det falskt.
Vi använder < operatören i if -satsen för att kontrollera om värdet på intA är mindre än intB:
12345 | Om intA <intB DåblnResult = SantAnnanblnResult = FalsktAvsluta om |
Som intA är mindre än intB, blnResult returnerar True:
Bild 5. Använda operatören mindre än
Mindre än eller lika med
De Mindre än eller Lika med operator kontrollerar om det första värdet är mindre än eller lika med och returnerar True eller False. Här är exempelkoden:
123456789101112 | Dim intA som heltalDim intB som heltalDim blnResult As BooleanintA = 5intB = 5Om intA <= intB DåblnResult = SantAnnanblnResult = FalsktAvsluta om |
I det här exemplet vill vi kontrollera om intA är mindre än eller lika med intB. Om detta är sant, värdet av booleskt blnResult kommer att vara sant, annars blir det falskt.
Vi använder <= operatören i if -satsen för att kontrollera om värdet på intA är mindre än eller lika med intB:
12345 | Om intA <= intB DåblnResult = SantAnnanblnResult = FalsktAvsluta om |
Sammanfattningsvis, eftersom båda variablerna är lika med 5, är blnResult returnerar True:
Bild 6. Använda operatören Less Than or Equal To
Är operatör
Is Operator testar om två objektvariabler innehåller samma objekt:
12345678910111213 | Sub CompareObjects ()Dim ws1 som kalkylblad, ws2 som arbetsbladAnge ws1 = Sheets ("Sheet1")Ange ws2 = Sheets ("Sheet2")Om ws1 är ws2 DåMsgBox "Samma WS"AnnanMsgBox "Olika WS"Avsluta omAvsluta Sub |
Som operatör
Liknande operatör kan användas för att hitta inexakta textmatchningar. Detta exempel kommer att testa om en sträng börjar med "Mr."
1234567891011121314 | Sub LikeDemo ()Dim strName Som strängDim blnResult As BooleanstrName = "Mr. Michael James"Om strName Gilla "Mr*" DåblnResult = SantAnnanblnResult = FalsktAvsluta omAvsluta Sub |
Om du vill lära dig att jämföra strängar, klicka här: VBA Jämför strängar - StrComp
Om du vill lära dig hur du använder jämförelseoperatorer, klicka här: VBA Logical Operators