VBA lar deg bruke sammenligningsoperatorer til å sammenligne verdier. Ved å bruke disse operatørene kan du sammenligne verdier og returnere en boolsk sann eller usann som et resultat.
Listen over de viktigste sammenligningsoperatørene i VBA
Først vil vi vise listen over sammenligningsoperatorer som kan brukes i VBA -kode:
Sammenligningsoperatør | Forklaring |
= |
Lik |
Ikke lik |
|
> |
Større enn |
>= |
Større enn eller lik |
< |
Mindre enn |
<= |
Mindre enn eller lik |
Lik
De Lik operatøren sjekker om to verdier er like og returnerer True eller False. Her er eksempelkoden:
123456789101112 | Dim intA som heltallDim intB Som heltallDim blnResult As BooleanintA = 5intB = 5Hvis intA = intB DablnResult = SantEllersblnResult = FalskSlutt om |
I dette eksemplet vil vi sjekke om intA er lik intB. Hvis dette er sant, verdien av boolsk blnResult vil være sant, ellers vil det være usant.
Først setter vi verdier av intA og intB til 5:
12 | intA = 5intB = 5 |
Etter det bruker vi = operatør i If -setningen for å kontrollere om verdiene til intA og intB er like:
12345 | Hvis intA = intB DablnResult = SantEllersblnResult = FalskSlutt om |
Begge variablene er lik 5, derfor er blnResult returnerer True:
Bilde 1. Bruke operatoren Equal To
Ikke lik
De Ikke Lik operatøren sjekker om to verdier ikke er like og returnerer True eller False. Her er eksempelkoden:
Det har oppstått en feil. Prøv igjen senere. |
I dette eksemplet vil vi sjekke om intA er ikke lik intB. Hvis dette er sant, verdien av boolsk blnResult vil være sant, ellers vil det være usant.
Vi bruker operatør i If -setningen for å kontrollere om verdiene til intA og intB er forskjellig:
12345 | Hvis intA intB DablnResult = SantEllersblnResult = FalskSlutt om |
Verdien av intA er 5 og verdien av intB er 6, er variablene ikke like, derfor er blnResult returnerer True:
Bilde 2. Bruke operatoren Ikke lik for
Større enn
De Større enn operatøren sjekker om den første verdien er større enn den andre verdien og returnerer True eller False. Her er eksempelkoden:
123456789101112 | Dim intA som heltallDim intB Som heltallDim blnResult As BooleanintA = 6intB = 5Hvis intA> intB DablnResult = SantEllersblnResult = FalskSlutt om |
I dette eksemplet vil vi sjekke om intA er større enn intB. Hvis dette er sant, verdien av boolsk blnResult vil være sant, ellers vil det være usant.
Videre bruker vi > operatør i If -setningen for å kontrollere om verdien av intA er større enn intB:
12345 | Hvis intA> intB DablnResult = SantEllersblnResult = FalskSlutt om |
Avslutningsvis, somintA er større enn intB, blnResult returnerer True:
Bilde 3. Bruke operasjonen Greater Than
Større enn eller lik
De Større enn eller lik operatøren sjekker om den første verdien er større enn eller lik den andre verdien og returnerer True eller False. Her er eksempelkoden:
123456789101112 | Dim intA som heltallDim intB Som heltallDim blnResult As BooleanintA = 5intB = 5Hvis intA> = intB DablnResult = SantEllersblnResult = FalskSlutt om |
I dette eksemplet vil vi sjekke om intA er større enn eller lik intB. Hvis dette er sant, verdien av boolsk blnResult vil være sant, ellers vil det være usant.
Vi bruker>= operatør i If -setningen for å kontrollere om verdien av intA er større enn eller lik intB:
12345 | Hvis intA> = intB DablnResult = SantEllersblnResult = FalskSlutt om |
Som konklusjon, ettersom begge variablene er lik 5, er blnResult returnerer True:
Bilde 4. Bruke operasjonen Greater Than or Equal To
Mindre enn
De Mindre enn operator sjekker om den første verdien er mindre enn den andre verdien og returnerer True eller False. Her er eksempelkoden:
123456789101112 | Dim intA som heltallDim intB Som heltallDim blnResult As BooleanintA = 5intB = 6Hvis intA <intB DablnResult = SantEllersblnResult = FalskSlutt om |
I dette eksemplet vil vi sjekke om intA er mindre enn intB. Hvis dette er sant, verdien av boolsk blnResult vil være sant, ellers vil det være usant.
Vi bruker < operatør i If -setningen for å kontrollere om verdien av intA er mindre enn intB:
12345 | Hvis intA <intB DablnResult = SantEllersblnResult = FalskSlutt om |
Som intA er mindre enn intB, blnResult returnerer True:
Bilde 5. Bruke mindre enn operatøren
Mindre enn eller lik
De Mindre enn eller Lik operatøren sjekker om den første verdien er mindre enn eller lik og returnerer True eller False. Her er eksempelkoden:
123456789101112 | Dim intA som heltallDim intB Som heltallDim blnResult As BooleanintA = 5intB = 5Hvis intA <= intB DablnResult = SantEllersblnResult = FalskSlutt om |
I dette eksemplet vil vi sjekke om intA er mindre enn eller lik intB. Hvis dette er sant, verdien av boolsk blnResult vil være sant, ellers vil det være usant.
Vi bruker <= operatør i If -setningen for å kontrollere om verdien av intA er mindre enn eller lik intB:
12345 | Hvis intA <= intB DablnResult = SantEllersblnResult = FalskSlutt om |
Som konklusjon, ettersom begge variablene er lik 5, er blnResult returnerer True:
Bilde 6. Bruke operatøren Less Than or Equal To
Er operatør
Is Operator tester om to objektvariabler inneholder det samme objektet:
12345678910111213 | Sub CompareObjects ()Dim ws1 Som regneark, ws2 Som regnearkSett ws1 = Ark ("Ark1")Sett ws2 = Sheets ("Sheet2")Hvis ws1 er ws2 DaMsgBox "Samme WS"EllersMsgBox "Ulike WS"Slutt omSlutt Sub |
Som operatør
Liker -operatøren kan brukes til å finne unøyaktige tekstmatcher. Dette eksemplet vil teste om en streng starter med "Mr."
1234567891011121314 | Sub LikeDemo ()Dim strName Som strengDim blnResult As BooleanstrName = "Mr. Michael James"If strName Like "Mr*" ThenblnResult = SantEllersblnResult = FalskSlutt omSlutt Sub |
Hvis du vil lære å sammenligne strenger, klikk her: VBA Compare Strings - StrComp
Hvis du vil lære hvordan du bruker sammenligningsoperatorer, klikker du her: VBA Logical Operators