VBA Boolescher Datentyp (Dim-Variable)

Boolescher Variablentyp

Der VBA-Datentyp Boolean wird verwendet, um True- oder False-Werte zu speichern. True kann auch durch 1 und False durch 0 dargestellt werden.

Um eine boolesche Variable zu deklarieren, verwenden Sie die Dim-Anweisung (kurz für Dimension):

1 Dim blnA als Boolean

Um dann einer Variablen einen Wert zuzuweisen, verwenden Sie einfach das Gleichheitszeichen:

1 blnA = Wahr

Wenn Sie dies in eine Prozedur einfügen, könnte es so aussehen:

123456789101112 Sub blnBeispiel()'deklarieren Sie die boolesche VariableDim blnA als Boolean'Code ausführen, um die Variable zu füllen - normalerweise ist der Code eine if- oder eine case-AnweisungWenn Bereich("A1") > 0 dannblnA = wahrAndersblnA = FalschEnde Wenn'zeige die NachrichtenboxMsgBox "Der Test, ob die Zelle einen Wert größer als 0 hat, ist " & blnAEnd Sub

Wenn Sie den obigen Code ausführen, wird das folgende Meldungsfeld angezeigt.

Boolesche Variable auf Modul- oder globaler Ebene deklarieren

Im vorherigen Beispiel haben wir die . deklariert Boolesches Variable innerhalb einer Prozedur. Mit einer Prozedur deklarierte Variablen können nur innerhalb dieser Prozedur verwendet werden.

Stattdessen können Sie boolesche Variablen auf Modul- oder globaler Ebene deklarieren.

Modulebene

Du erklärst Modulebene Variablen am Anfang von Codemodulen mit dem Dim Stellungnahme.

Diese Variablen können mit jeder Prozedur in diesem Codemodul verwendet werden.

Globale Ebene

Sie erklären auch Globale Ebene Variablen am Anfang von Codemodulen. Anstatt jedoch die Dim Anweisung würden Sie die Öffentlich Aussage, die darauf hindeutet, dass die Boolesches Variable steht für die Verwendung in Ihrem gesamten VBA-Projekt zur Verfügung.

1 Öffentliche blnA als Boolean

Wenn Sie die Boolesches Variable auf Modulebene und versuchen Sie dann, sie in einem anderen Modul zu verwenden, erhalten Sie einen Fehler.

Wenn Sie jedoch das Schlüsselwort Public verwendet hätten, um die Boolesches Variable würde der Fehler nicht auftreten und die Prozedur würde perfekt ablaufen.

Verwenden einer booleschen Variablen

Sie verwenden die boolesche Variable im logischen Vergleich. Diese werden oft mit If-Anweisungen verwendet, um zu testen, ob eine Bedingung wie im obigen Beispiel wahr oder falsch ist, oder in einer Codezeile, um einen logischen Test durchzuführen - vielleicht um zu sehen, ob ein Wert größer als ein anderer ist.

12345678 Sub blnBeispiel()'deklarieren Sie die boolesche VariableDim blnA As Boolean'Testen Sie, ob eine Zahl größer ist als die nächste ZahlblnA = 45 > 68'zeige die NachrichtenboxMsgBox blnAEnd Sub

Wenn Sie den obigen Code ausführen, erhalten Sie das folgende Meldungsfeld.

denn natürlich ist 45 nicht größer als 68!

Boolesche Operatoren verwenden

Da Boolesche Variablen im logischen Vergleich verwendet werden, können wir die logischen Operatoren UND und ODER verwenden, um zu testen, ob mehr als eine Bedingung wahr oder falsch ist.

Verwenden des UND-Operators

Wir können die UND-Funktion verwenden, um zu sehen, ob BEIDE Bedingungen erfüllt sind.

12345678 Sub blnBeispiel()'deklarieren Sie die boolesche VariableDim blnA As Boolean'Verwenden Sie den AND-Operator, um zu testen, ob beide Bedingungen wahr sindblnA = 10 > 13 und 15 > 12'zeige die NachrichtenboxMsgBox blnAEnd Sub

oder wir könnten den gleichen Test mit einer If-Anweisung ausführen:

123456789101112 Sub blnBeispiel()'deklarieren Sie die boolesche VariableDim blnA As Boolean'Verwenden Sie den AND-Operator, um zu testen, ob beide Bedingungen wahr sindWenn 10 > 13 Und 15 > 12 DannblnA = WahrAndersblnA = FalschEnde Wenn'zeige die NachrichtenboxMsgBox blnAEnd Sub

Beide obigen Beispiele würden zurückkehren FALSCH aufgrund der Tatsache, dass 10 ist NICHT größer als 13 - und BEIDE Bedingungen müssen wahr sein, damit der Boolesche Wert wahr ist.

Verwenden des ODER-Operators

Wir können die ODER-Funktion verwenden, um zu sehen, ob EINE DER Bedingungen erfüllt ist.

12345678 Sub blnBeispiel()'deklarieren Sie die boolesche VariableDim blnA As Boolean'Verwenden Sie den AND-Operator, um zu testen, ob beide Bedingungen wahr sindblnA = 10 > 13 oder 15 > 12'zeige die NachrichtenboxMsgBox blnAEnd Sub

oder wir könnten den gleichen Test mit einer If-Anweisung ausführen:

123456789101112 Sub blnBeispiel()'deklarieren Sie die boolesche VariableDim blnA As Boolean'Verwenden Sie den AND-Operator, um zu testen, ob beide Bedingungen wahr sindWenn 10 > 13 ODER 15 > 12 DannblnA = WahrAndersblnA = FalschEnde Wenn'zeige die NachrichtenboxMsgBox blnAEnd Sub

Diese Beispiele würden zurückkehren WAHR aufgrund der Tatsache, dass 10 NICHT größer als 13 ist, ABER 15 größer als 12 ist - undNUR EINER Bedingung muss True sein, damit der Boolesche Wert True ist.

Die Verwendung von If-Anweisungen ermöglicht es uns, logischere Operatoren zu verwenden

Verwenden des NOT-Operators

Wir können den NOT-Operator auch mit der booleschen Variablen verwenden. Der NOT-Operator negiert den Wert der Bedingung - wenn also eine Bedingung wahr ist, gibt der NOT-Operator false zurück.

12345678910111213141516 Unter FindDifferences()'Bereichsvariablen deklarierenDim rng1 als BereichDim rng2 als Bereich'Blatt eins aktivierenWorksheets("Blatt1").Aktivieren'die Bereiche bevölkernSetze rng1 = Bereich("A3")Setze rng2 = Bereich("B3")'Verwenden Sie den NOT-Operator, um zu sehen, ob die Werte gleich sind oder nicht.Wenn nicht rng1.Value = rng2.Value ThenMsgBox "Die Werte in den Zellen sind nicht gleich"AndersMsgBox "Die Werte in den Zellen sind gleich"Ende WennEnd Sub

Verwenden des logischen Xor-Operators

DieXor Der logische Operator wird verwendet, um zwei oder mehr Bedingungen zu vergleichen. Wenn eine der Bedingungen wahr ist, wird TRUE zurückgegeben. Wenn es 2 Bedingungen gibt und WEDER wahr oder BEIDE wahr sind, wird FALSE zurückgegeben.

1234567891011121314151617 Sub blnBeispiel()'deklarieren Sie die ganzen ZahlenDim intA As IntegerDim intB As Integer'deklarieren Sie die boolesche VariableDim blnResult As Boolean'die Variablen auffüllenintA = 5intB = 10'Überprüfe, ob einer wahr istWenn intA = 5 Xoder intB = 5 DannblnResult = TrueAndersblnResult = FalseEnde WennMsgBox blnResultEnd Sub

Da im obigen Beispiel EINE der Bedingungen WAHR ist, wird das Meldungsfeld zurückgegeben WAHR.

1234567891011121314151617 Sub blnBeispiel()'deklarieren Sie die ganzen ZahlenDim intA As IntegerDim intB As Integer'deklarieren Sie die boolesche VariableDim blnResult As Boolean'die Variablen auffüllenintA = 5intB = 5'überprüfe, ob einer wahr istWenn intA = 5 Xoder intB = 5 DannblnResult = TrueAndersblnResult = FalseEnde WennMsgBox blnResultEnd Sub

Im obigen Beispiel jedoch, da BEIDE Bedingungen wahr sind, wird das Meldungsfeld zurückgegeben FALSCH.

1234567891011121314151617 Sub blnBeispiel()'deklarieren Sie die ganzen ZahlenDim intA As IntegerDim intB As Integer'deklarieren Sie die boolesche VariableDim blnResult As Boolean'die Variablen auffüllenintA = 6intB = 8'Überprüfe, ob einer wahr istWenn intA = 5 Xoder intB = 5 DannblnResult = TrueAndersblnResult = FalseEnde WennMsgBox blnResultEnd Sub

und schließlich, da beide Bedingungen FALSE sind, gibt das Meldungsfeld auch FALSE zurück.

Sie werden die Entwicklung der Website helfen, die Seite mit Ihren Freunden teilen

wave wave wave wave wave