VBA logiske operatører - ELLER, OG, XOR, IKKE, ER OG LIKER

VBA lar deg bruke de logiske operatorene Og, Eller, Ikke, Xor å sammenligne verdier. Operatørene regnes som "boolske", noe som betyr at de returnerer Sant eller usant som et resultat.

Hvis du vil lære å sammenligne strenger, klikk her: VBA Compare Strings - StrComp

Hvis du vil lære å bruke sammenligningsoperatorer, klikk her: VBA -sammenligningsoperatorer - ikke lik og mer

Bruke And Logical Operator

De Og logisk operatør sammenligner to eller flere forhold. Hvis alle betingelsene er sanne, vil operatøren returnere True. Hvis minst ett av vilkårene ikke er oppfylt, vil operatøren returnere False. Her er et eksempel:

123456789101112 Dim intA som heltallDim intB Som heltallDim blnResult As BooleanintA = 5intB = 5Hvis intA = 5 Og intB = 5 DablnResult = SantEllersblnResult = FalskSlutt om

I dette eksemplet vil vi sjekke om begge deler intA og intB er lik 5. Hvis dette er sant, er 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 Og operatør i If -setningen for å kontrollere om verdiene er lik 5:

12345 Hvis intA = 5 Og intB = 5 DablnResult = SantEllersblnResult = FalskSlutt om

Ettersom begge variablene er lik 5, vil blnResult returnerer True:

Bilde 1. Bruke den Og logiske operatoren i VBA

Bruke Or Logical Operator

De Eller logisk operatør sammenligner to eller flere forhold. Hvis minst ett av vilkårene er sant, vil det returnere True. Hvis ingen av betingelsene er sanne, vil operatøren returnere False. Her er koden for eksemplet:

123456789101112 Dim intA som heltallDim intB Som heltallDim blnResult As BooleanintA = 5intB = 10Hvis intA = 5 Eller intB = 5 DablnResult = SantEllersblnResult = FalskSlutt om

I dette eksemplet vil vi sjekke om begge deler intA er lik 5. eller intB er lik 10. Hvis noen av disse betingelsene er sanne, er verdien av boolsk blnResult vil være sant, ellers vil det være usant.

Først setter vi verdien av intA til 5 og intB til 10:

12 intA = 5intB = 10

Etter det bruker vi Eller operatør i If -setningen for å kontrollere om noen av verdiene er lik 5:

12345 Hvis intA = 5 Eller intB = 5 DablnResult = SantEllersblnResult = FalskSlutt om

Som intA verdien er 5, blnResult returnerer True:

Bilde 2. Bruke operatøren Or logisk i VBA

Bruke Not Logical Operator

De Ikke logisk operatør sjekker en eller flere betingelser. Hvis betingelsene er sanne, returnerer operatøren False. Ellers returnerer den True. Her er koden for eksemplet:

12345678910 Dim intA som heltallDim blnResult As BooleanintA = 5Hvis ikke (intA = 6) DablnResult = SantEllersblnResult = FalskSlutt om

I dette eksemplet vil vi sjekke om verdien av intA er ikke lik 6. Hvis intA er forskjellig fra 6, verdien av boolsk blnResult vil være sant, ellers vil det være usant.

Først setter vi verdien av intA til 5:

1 intA = 5

Etter det bruker vi Not -operatoren i If -setningen for å sjekke om verdien av intA er forskjellig fra 6:

12345 Hvis ikke (intA = 6) DablnResult = SantEllersblnResult = FalskSlutt om

Som intA verdien er 5, blnResult returnerer True:

Bilde 3. Bruke ikke logisk operator i VBA

Bruke Xor Logical Operator

De Xor logisk operatør sammenligner to eller flere forhold. Hvis nøyaktig en av betingelsene er sanne, vil den returnere True. Hvis ingen av betingelsene er sanne, eller flere enn en er sant, vil den returnere False. Her er koden for eksemplet:

123456789101112 Dim intA som heltallDim intB Som heltallDim blnResult As BooleanintA = 5intB = 10Hvis intA = 5 Xor intB = 5 DablnResult = SantEllersblnResult = FalskSlutt om

I dette eksemplet vil vi kontrollere om nøyaktig en av verdiene (intA eller IntB) er lik 5. Hvis bare én betingelse er sann, er verdien av boolsk blnResult vil være sant, ellers vil det være usant.

Først setter vi verdien av intA til 5 og intB til 10:

12 intA = 5intB = 10

Etter det bruker vi Eller operatør i If -setningen for å kontrollere om noen av verdiene er lik 5:

12345 Hvis intA = 5 Xor intB = 5 DablnResult = SantEllersblnResult = FalskSlutt om

Som intA verdien er 5 og intB er 10, den blnResult returnerer True:

Bilde 4. Bruke den logiske Xor -operatoren i VBA

Er operatør

Is Operator tester om to objektvariabler lagrer det samme objektet.

La oss se på et eksempel. Her vil vi tildele to regneark til regnearkobjekter rng1 og rng2, og teste om de to regnearkobjektene lagrer det samme regnearket:

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

Selvfølgelig er regnearkobjektene ikke de samme, så "Ulike WSer" returneres.

Som operatør

Like Operator kan sammenligne to strenger for unøyaktige kamper. 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

Du vil bidra til utvikling av området, dele siden med vennene dine

wave wave wave wave wave