VBA boolsk datatype (dim variabel)

Boolsk variabel type

VBA -boolske datatypen bruges til at gemme True eller False -værdier. Sand kan også repræsenteres med 1 og Falsk med 0.

For at deklarere en boolsk variabel bruger du Dim Statement (forkortelse for Dimension):

1 Dim blnA som boolsk

For derefter at tildele en værdi til en variabel bruger du blot lighedstegnet:

1 blnA = Sandt

Når du sætter dette ind i en procedure, kan det se sådan ud:

123456789101112 Sub blnExample ()'erklærer den boolske variabelDim blnA som boolsk'køre kode for at udfylde variablen - normalt er koden en if eller en case statementHvis område ("A1")> 0 derefterblnA = sandtAndetblnA = FalskAfslut Hvis'vis meddelelsesboksenMsgBox "Testen for at se om cellen har en værdi større end 0 er" & blnAAfslut Sub

Hvis du kører koden ovenfor, vises følgende meddelelsesboks.

Deklarere boolsk variabel på modul eller globalt niveau

I det foregående eksempel har vi erklæret Boolske variabel inden for en procedure. Variabler, der er angivet med en procedure, kan kun bruges inden for denne procedure.

I stedet kan du deklarere boolske variabler på modulet eller globalt niveau.

Modulniveau

De erklærer Modulniveau variabler øverst i kodemodulerne med Svag udmelding.

Disse variabler kan bruges med enhver procedure i det pågældende kodemodul.

Globalt niveau

Du erklærer også Globalt niveau variabler øverst i kodemodulerne. Men i stedet for at bruge Svag erklæring, ville du bruge Offentlig erklæring for at angive, at Boolske variabel er tilgængelig til brug i hele dit VBA -projekt.

1 Offentlig blnA som boolsk

Hvis du skulle erklære Boolske variabel på et modulniveau og derefter prøve at bruge det i et andet modul, får du en fejl.

Men hvis du havde brugt det offentlige søgeord til at erklære Boolske variabel, ville fejlen ikke opstå, og proceduren ville køre perfekt.

Brug af en boolsk variabel

Du bruger den boolske variabel i logisk sammenligning. Disse bruges ofte med If -sætninger til at teste, om en betingelse er sand eller falsk i henhold til eksemplet ovenfor, eller i en kodelinje til at anvende en logisk test - måske for at se, om en værdi er større end en anden.

12345678 Sub blnExample ()'erklærer den boolske variabelDim blnA Som boolsk'test for at se, om et tal er større end det næste talblnA = 45> 68'vis meddelelsesboksenMsgBox blnAAfslut Sub

Hvis du kører koden ovenfor, får du følgende meddelelsesboks.

fordi selvfølgelig 45 ikke er større end 68!

Brug af boolske operatører

Da boolske variabler bruges i logisk sammenligning, kan vi bruge de logiske operatorer AND og OR til at teste, om mere end én betingelse er sand eller falsk.

Brug af AND -operatøren

Vi kan bruge AND -funktionen til at se, om begge betingelser er opfyldt.

12345678 Sub blnExample ()'erklærer den boolske variabelDim blnA Som boolsk'brug AND -operatoren til at teste, om begge betingelser er sandeblnA = 10> 13 Og 15> 12'vis meddelelsesboksenMsgBox blnAAfslut Sub

eller vi kunne køre den samme test ved hjælp af en If -erklæring:

123456789101112 Sub blnExample ()'erklærer den boolske variabelDim blnA Som boolsk'brug AND -operatoren til at teste, om begge betingelser er sandeHvis 10> 13 og 15> 12 SåblnA = SandtAndetblnA = FalskAfslut Hvis'vis meddelelsesboksenMsgBox blnAAfslut Sub

Begge eksempler ovenfor ville vende tilbage FALSK på grund af at 10 er IKKE større end 13 - og BEGGE betingelserne skal være sande for at den boolske skal være sand.

Brug af OR -operatøren

Vi kan bruge OR -funktionen til at se, om EN AF betingelserne er opfyldt.

12345678 Sub blnExample ()'erklærer den boolske variabelDim blnA Som boolsk'brug AND -operatoren til at teste, om begge betingelser er sandeblnA = 10> 13 Eller 15> 12'vis meddelelsesboksenMsgBox blnAAfslut Sub

eller vi kunne køre den samme test ved hjælp af en If -erklæring:

123456789101112 Sub blnExample ()'erklærer den boolske variabelDim blnA Som boolsk'brug AND -operatoren til at teste, om begge betingelser er sandeHvis 10> 13 ELLER 15> 12 SåblnA = SandtAndetblnA = FalskAfslut Hvis'vis meddelelsesboksenMsgBox blnAAfslut Sub

Disse eksempler ville vende tilbage SAND på grund af at 10 IKKE er større end 13 MEN 15 ER større end 12 - ogKUN EN betingelsen skal være sand for at den boolske skal være sand.

Brug af If -sætninger giver os mulighed for at bruge mere logiske operatorer

Brug af NOT -operatøren

Vi kan også bruge NOT -operatoren med den boolske variabel. NOT -operatøren benægter betingelsens værdi - så hvis en betingelse er sand, returnerer NOT -operatoren falsk.

12345678910111213141516 Sub FindDifferences ()'erklærer rækkeviddevariablerDim rng1 Som områdeDim rng2 Som område'aktiver ark etRegneark ("Ark1"). Aktiver'udfyld rækkeviddenIndstil rng1 = Range ("A3")Indstil rng2 = Range ("B3")'brug operatoren NOT for at se, om værdierne er ens eller ej.Hvis ikke rng1.Value = rng2.Value HerefterMsgBox "Værdierne i cellerne er ikke ens"AndetMsgBox "Værdierne i cellerne er ens"Afslut HvisAfslut Sub

Brug af Xor Logical Operator

DetXor logisk operator bruges til at sammenligne to eller flere betingelser. Hvis en af ​​betingelserne er opfyldt, returnerer den SAND. Hvis der er 2 betingelser, og INGEN er sandt eller begge er sande, returnerer den FALSK.

1234567891011121314151617 Sub blnExample ()'erklærer heltaleneDim intA som heltalDim intB Som heltal'erklærer den boolske variabelDim blnResult Som boolsk'udfyld variablerneintA = 5intB = 10'tjek for at se, om en er sandHvis intA = 5 Xor intB = 5 SåblnResult = SandtAndetblnResult = FalskAfslut HvisMsgBox blnResultAfslut Sub

I ovenstående eksempel, da EN af betingelserne er SAND, vender meddelelsesboksen tilbage SAND.

1234567891011121314151617 Sub blnExample ()'erklærer heltaleneDim intA som heltalDim intB Som heltal'erklærer den boolske variabelDim blnResult Som boolsk'udfyld variablerneintA = 5intB = 5'tjek for at se, om en er sandHvis intA = 5 Xor intB = 5 SåblnResult = SandtAndetblnResult = FalskAfslut HvisMsgBox blnResultAfslut Sub

Men i eksemplet ovenfor, da begge betingelser er opfyldt, vender meddelelsesboksen tilbage FALSK.

1234567891011121314151617 Sub blnExample ()'erklærer heltaleneDim intA som heltalDim intB Som heltal'erklærer den boolske variabelDim blnResult Som boolsk'udfyld variablerneintA = 6intB = 8'tjek for at se, om en er sandHvis intA = 5 Xor intB = 5 SåblnResult = SandtAndetblnResult = FalskAfslut HvisMsgBox blnResultAfslut Sub

og endelig, da begge betingelser er FALSKE, returnerer meddelelsesboksen også FALSK.

Du vil bidrage til udviklingen af ​​hjemmesiden, at dele siden med dine venner

wave wave wave wave wave