VBA giver dig mulighed for at bruge sammenligningsoperatorer til at sammenligne værdier. Ved at bruge disse operatorer kan du sammenligne værdier og returnere en boolsk sand eller falsk som følge heraf.
Listen over de vigtigste sammenligningsoperatører i VBA
Først viser vi listen over sammenligningsoperatorer, der kan bruges i VBA -kode:
Sammenligningsoperatør | Forklaring |
= |
Svarende til |
Ikke lig med |
|
> |
Bedre end |
>= |
Større end eller lig med |
< |
Mindre end |
<= |
Mindre end eller lig med |
Svarende til
Det Svarende til operator kontrollerer, om to værdier er ens og returnerer sand eller falsk. Her er eksempelkoden:
123456789101112 | Dim intA som heltalDim intB Som heltalDim blnResult Som boolskintA = 5intB = 5Hvis intA = intB SåblnResult = SandtAndetblnResult = FalskAfslut Hvis |
I dette eksempel vil vi kontrollere, om intA er lig med intB. Hvis dette er sandt, værdien af boolsk blnResult vil være sandt, ellers vil det være falsk.
Først sætter vi værdier af intA og intB til 5:
12 | intA = 5intB = 5 |
Herefter bruger vi = operatør i If -sætningen for at kontrollere, om værdierne for intA og intB er lige:
12345 | Hvis intA = intB SåblnResult = SandtAndetblnResult = FalskAfslut Hvis |
Begge variabler er lig med 5, derfor er blnResult returnerer True:
Billede 1. Brug af Equal To -operatoren
Ikke lig med
Det Ikke Svarende til operator kontrollerer, om to værdier ikke er ens og returnerer Sandt eller Falsk. Her er eksempelkoden:
Der opstod en fejl. Prøv igen senere. |
I dette eksempel vil vi kontrollere, om intA er ikke lig med intB. Hvis dette er sandt, værdien af boolsk blnResult vil være sandt, ellers vil det være falsk.
Vi bruger operatør i If -sætningen for at kontrollere, om værdierne for intA og intB er forskellige:
12345 | Hvis intA intB SåblnResult = SandtAndetblnResult = FalskAfslut Hvis |
Værdien af intA er 5 og værdien af intB er 6, er variablerne ikke ens, derfor er blnResult returnerer True:
Billede 2. Brug af operatoren Ikke lig med
Bedre end
Det Bedre end operatøren kontrollerer, om den første værdi er større end den anden værdi og returnerer sand eller falsk. Her er eksempelkoden:
123456789101112 | Dim intA som heltalDim intB Som heltalDim blnResult Som boolskintA = 6intB = 5Hvis intA> intB SåblnResult = SandtAndetblnResult = FalskAfslut Hvis |
I dette eksempel vil vi kontrollere, om intA er større end intB. Hvis dette er sandt, værdien af boolsk blnResult vil være sandt, ellers vil det være falsk.
Desuden bruger vi > operatør i If -sætningen for at kontrollere, om værdien af intA er større end intB:
12345 | Hvis intA> intB SåblnResult = SandtAndetblnResult = FalskAfslut Hvis |
Afslutningsvis, somintA er større end intB, det blnResult returnerer True:
Billede 3. Brug af operatøren Større end
Større end eller lig med
Det Større end eller lig med operatøren kontrollerer, om den første værdi er større end eller lig med den anden værdi og returnerer sand eller falsk. Her er eksempelkoden:
123456789101112 | Dim intA som heltalDim intB Som heltalDim blnResult Som boolskintA = 5intB = 5Hvis intA> = intB SåblnResult = SandtAndetblnResult = FalskAfslut Hvis |
I dette eksempel vil vi kontrollere, om intA er større end eller lig med intB. Hvis dette er sandt, værdien af boolsk blnResult vil være sandt, ellers vil det være falsk.
Vi bruger>= operatør i If -sætningen for at kontrollere, om værdien af intA er større end eller lig med intB:
12345 | Hvis intA> = intB SåblnResult = SandtAndetblnResult = FalskAfslut Hvis |
Afslutningsvis, da begge variabler er lig med 5, er blnResult returnerer True:
Billede 4. Brug af operatøren større end eller lig med
Mindre end
Det Mindre end operatøren kontrollerer, om den første værdi er mindre end den anden værdi og returnerer sand eller falsk. Her er eksempelkoden:
123456789101112 | Dim intA som heltalDim intB Som heltalDim blnResult Som boolskintA = 5intB = 6Hvis intA <intB SåblnResult = SandtAndetblnResult = FalskAfslut Hvis |
I dette eksempel vil vi kontrollere, om intA er mindre end intB. Hvis dette er sandt, værdien af boolsk blnResult vil være sandt, ellers vil det være falsk.
Vi bruger < operatør i If -sætningen for at kontrollere, om værdien af intA er mindre end intB:
12345 | Hvis intA <intB SåblnResult = SandtAndetblnResult = FalskAfslut Hvis |
Som intA er mindre end intB, det blnResult returnerer True:
Billede 5. Brug af operatøren Less Than
Mindre end eller lig med
Det Mindre end eller Svarende til operatøren kontrollerer, om den første værdi er mindre end eller lig med og returnerer True eller False. Her er eksempelkoden:
123456789101112 | Dim intA som heltalDim intB Som heltalDim blnResult Som boolskintA = 5intB = 5Hvis intA <= intB SåblnResult = SandtAndetblnResult = FalskAfslut Hvis |
I dette eksempel vil vi kontrollere, om intA er mindre end eller lig med intB. Hvis dette er sandt, værdien af boolsk blnResult vil være sandt, ellers vil det være falsk.
Vi bruger <= operatør i If -sætningen for at kontrollere, om værdien af intA er mindre end eller lig med intB:
12345 | Hvis intA <= intB SåblnResult = SandtAndetblnResult = FalskAfslut Hvis |
Afslutningsvis, da begge variabler er lig med 5, er blnResult returnerer True:
Billede 6. Brug af operatøren Mindre end eller lig med
Er operatør
Is Operator tester, om to objektvariabler indeholder det samme objekt:
12345678910111213 | Sub CompareObjects ()Dim ws1 som regneark, ws2 som regnearkSæt ws1 = Ark ("Ark1")Sæt ws2 = Ark ("Ark2")Hvis ws1 er ws2 SåMsgBox "Samme WS"AndetMsgBox "Forskellige WS'er"Afslut HvisAfslut Sub |
Ligesom operatør
Ligesom operatøren kan bruges til at finde inexakte tekstmatchninger. Dette eksempel tester, om en streng starter med "Mr."
1234567891011121314 | Sub LikeDemo ()Dim strName Som strengDim blnResult Som boolskstrName = "Mr. Michael James"Hvis strName Som "Mr*" SåblnResult = SandtAndetblnResult = FalskAfslut HvisAfslut Sub |
Hvis du vil lære at sammenligne strenge, klik her: VBA Sammenlign strenge - StrComp
Hvis du vil lære at bruge sammenligningsoperatorer, skal du klikke her: VBA Logical Operators