VBA – Boolescher Datentyp (Dim Variable)

Written by

Mel Jenkins

Reviewed by

Steve Rynearson

Translated by

Zakarya El Oirzadi

Last updated on März 28, 2023

Boolescher Variablentyp

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

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

Dim blnA as Boolean 

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

blnA = True

Wenn Sie dies in eine Prozedur einbauen, könnte es so aussehen:

Sub blnBeispiel()
'Die boolesche Variable deklarieren
   Dim blnA as Boolean
'Den Code ausführen, um die Variable zu belegen - Normalerweise besteht der Code aus einem If- oder Case-Ausdruck
   If Range("A1") > 0 Then 
       blnA = True
   Else
      blnA = False
   End If
'Die Meldungsbox anzeigen
   MsgBox "Das Ergebnis der Prüfung, um festzustellen, ob die Zelle einen Wert größer als 0 hat, lautet: " & blnA
End Sub

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

vba boolesche pruefung ergebnis

Boolesche Variable auf Modul- oder globaler Ebene deklarieren

Im vorherigen Beispiel haben wir die boolesche Variable innerhalb einer Prozedur deklariert. Variablen, die in einer Prozedur deklariert werden, können nur innerhalb dieser Prozedur verwendet werden.

boolesche variable auf prozedurebene

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

Modulebene

Sie können Variablen auf Modulebene am Anfang von Codemodulen mit der Dim-Anweisung deklarieren.

boolesche variable auf modulebene

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

Globale Ebene

Sie können auch Variablen der globalen Ebene am Anfang von Codemodulen deklarieren. Anstelle der Dim-Anweisung verwenden Sie jedoch die Public-Anweisung, um anzugeben, dass die boolesche Variable in Ihrem gesamten VBA-Projekt verwendet werden kann.

Public blnA As Boolean

boolesche variable auf globaler ebene

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

vba boolesche variable kompilierfehler

Wenn Sie die boolesche Variable jedoch mit dem Schlüsselwort Public deklariert hätten, wäre der Fehler nicht aufgetreten und die Prozedur wäre einwandfrei gelaufen.

Verwendung einer booleschen Variable

Die boolesche Variable wird für logische Vergleiche verwendet. Sie werden oft mit If-Anweisungen wie im obigen Beispiel verwendet, um zu prüfen, ob eine Bedingung 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.

Sub blnBeispiel()
'Die boolesche Variable deklarieren
   Dim blnA As Boolean
'Prüfen, ob eine Zahl größer als die nächste ist
   blnA = 45 > 68
'Die Meldungsbox anzeigen
   MsgBox blnA
End Sub

Wenn Sie den obigen Code ausführen, erhalten Sie die folgende Meldungsbox.

vba boolesche variable verwenden

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

Boolesche Operatoren verwenden

Da boolesche Variablen in logischen Vergleichen verwendet werden, können wir die logischen Operatoren AND und OR verwenden, um zu prüfen, ob mehr als eine Bedingung wahr oder falsch ist.

Verwendung des Operators AND

Mit dem AND-Operator können wir prüfen, ob BEIDE Bedingungen erfüllt sind.

Sub blnBeispiel()
'Die boolesche Variable deklarieren
   Dim blnA As Boolean
'Den Operator AND verwenden, um zu prüfen, ob beide Bedingungen erfüllt sind.
   blnA = 10 > 13 And 15 > 12
'Die Meldungsbox anzeigen
   MsgBox blnA
End Sub

oder wir können denselben Test mit einer If-Anweisung durchführen:

Sub blnBeispiel()
'Die boolesche Variable deklarieren
   Dim blnA As Boolean
'Den Operator AND verwenden, um zu prüfen, ob beide Bedingungen erfüllt sind.
   If 10 > 13 And 15 > 12 Then
      blnA = True
   Else
      blnA = False
   End If
'Die Meldungsbox anzeigen
   MsgBox blnA
End Sub

Beide obigen Beispiele würden FALSCH zurückgeben, da 10 NICHT größer als 13 ist und BEIDE Bedingungen müssen wahr sein, damit der boolesche Wert wahr ist.

Verwendung des Operators OR

Wir können die OR-Operator verwenden, um zu prüfen, ob EINE der Bedingungen erfüllt ist.

Sub blnBeispiel()
'Die boolesche Variable deklarieren
   Dim blnA As Boolean
'den Operator OR verwenden, um zu prüfen, ob eine der Bedingungen erfüllt ist 
   blnA = 10 > 13 Or 15 > 12
'Die Meldungsbox anzeigen
   MsgBox blnA
End Sub

oder wir können denselben Test mit einer If-Anweisung durchführen:

Sub blnBeipiel()
'Die boolesche Variable deklarieren
   Dim blnA As Boolean
'den Operator OR verwenden, um zu prüfen, ob eine der Bedingungen erfüllt ist
   If 10 > 13 Or 15 > 12 Then
      blnA = True
   Else
      blnA = False
   End If
'Die Meldungsbox anzeigen
   MsgBox blnA
End Sub

Diese Beispiele würden TRUE zurückgeben, da 10 NICHT größer als 13 ist, aber 15 größer als 12 ist und NUR EINE Bedingung wahr sein muss, damit der Boolesche Wert True entspricht.

Mit If-Anweisungen können wir weitere logische Operatoren verwenden

Verwendung des Operators NOT

Wir können auch den NOT-Operator 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.

Sub DifferenzenFinden()
'Bereichsvariablen deklarieren
    Dim Bereich1 As Range
    Dim Bereich2 As Range
'Tabelle1 aktivieren
    Worksheets("Tabelle1").Activate
'Die Bereiche belegen
    Set Bereich1 = Range("A3")
    Set Bereich2 = Range("B3")
'Den Operator NOT verwenden, um festzustellen, ob die Werte gleich sind oder nicht
    If Not Bereich1.Value = Bereich2.Value Then
        MsgBox "Die Werte in den Zellen sind nicht gleich"
    Else
        MsgBox "Die Werte in den Zellen sind gleich"
    End If
End Sub

Verwendung des logischen Operators XOR

Der logische Operator XOR wird verwendet, um zwei oder mehr Bedingungen zu vergleichen. Wenn eine der Bedingungen wahr ist, gibt er WAHR zurück. Wenn es 2 Bedingungen gibt und KEINE von beiden wahr ist oder BEIDE wahr sind, gibt er FALSCH zurück.

Sub blnBeispiel()
'Die Integer-Variablen deklarieren
   Dim intA As Integer
   Dim intB As Integer
'Die boolesche Variable deklarieren
   Dim blnErgebnis As Boolean
'Die Variablen belegen
   intA = 5
   intB = 10
'Prüfen, ob eine davon wahr ist
   If intA = 5 Xor intB = 5 Then
      blnErgebnis = True
   Else
      blnErgebnis = False
   End If
   MsgBox blnErgebnis
End Sub

Im obigen Beispiel ist EINE der Bedingungen WAHR und das Meldungsfeld gibt WAHR zurück.

Sub blnBeispiel()
'Die Integer-Variablen deklarieren
   Dim intA As Integer
   Dim intB As Integer
'Die boolesche Variable deklarieren
   Dim blnErgebnis As Boolean
'Die Variablen belegen
   intA = 5
   intB = 5
'Prüfen, ob eine davon wahr ist
   If intA = 5 Xor intB = 5 Then
      blnErgebnis = True
   Else
      blnErgebnis = False
   End If
   MsgBox blnErgebnis
End Sub

Da jedoch im obigen Beispiel BEIDE Bedingungen wahr sind, gibt die Meldungsbox FALSCH zurück.

Sub blnBeispiel()
'Die Integer-Variablen deklarieren
   Dim intA As Integer
   Dim intB As Integer
'Die boolesche Variable deklarieren
   Dim blnErgebnis As Boolean
'Die Variablen belegen
   intA = 6
   intB = 8
'Prüfen, ob eine davon wahr ist
   If intA = 5 Xor intB = 5 Then
      blnErgebnis = True
   Else
      blnErgebnis = False
   End If
   MsgBox blnErgebnis
End Sub

und schließlich, da beide Bedingungen FALSCH sind, gibt die Meldungsbox auch FALSCH zurück.

vba-free-addin

Add-In für VBA-Code-Beispiele

Auf alle Code-Beispiele aus unserer Website einfach zugreifen.

Navigieren Sie einfach zum Menü, klicken Sie darauf und der Code wird direkt in Ihr Modul eingefügt. .xlam add-in.

(Keine Installation erforderlich!)

Kostenloser Download

Return to VBA Code Examples