VBA – Nicht gleich, Größer als oder gleich & andere Vergleichsoperatoren
In this Article
In VBA können Sie Vergleichsoperatoren verwenden, um Werte zu vergleichen. Mithilfe dieser Operatoren können Sie Werte vergleichen und als Ergebnis ein boolesches True oder False zurückgeben.
Die wichtigsten Vergleichsoperatoren in VBA
Diese sind die wichtigsten Vergleichsoperatoren, die in VBA verwendet werden:
Vergleichsoperator |
Erläuterung |
= |
Ist gleich |
<> |
Nicht gleich |
> |
Größer als |
>= |
Größer als oder gleich |
< |
Kleiner als |
<= |
Kleiner als oder gleich |
Nicht gleich (<>)
Der Operator Nicht Gleich ist <>. Er prüft, ob zwei Werte nicht gleich sind und gibt TRUE oder FALSE zurück. Er ist eine Kombination aus den Operatoren Kleiner als und Größer als.
In diesem Beispiel wird geprüft, ob 5 nicht gleich 3 ist und in einer Meldungsbox FALSE zurückgegeben:
MsgBox 5 <> 3
Zellenwert nicht gleich
Es gibt mehrere Möglichkeiten, wie Sie Zahlen vergleichen können. Im vorherigen Beispiel haben wir 5 und 3 fest in unseren Code eingegeben. Im Folgenden werden zwei weitere Möglichkeiten zum Vergleichen von Werten gezeigt.
In diesem Beispiel wird geprüft, ob zwei Zellenwerte nicht gleich sind:
MsgBox Range("A1").Value <> Range("B1").Value
Eine andere Möglichkeit, Werte zu vergleichen, ist die Verwendung von Variablen.
Sub NichtGleich ()
Dim intA As Integer
Dim intB As Integer
Dim blnErgebnis As Boolean
intA = 5
intB = 6
If intA <> intB Then
blnErgebnis = True
Else
blnErgebnis = False
End If
End Sub
In diesem Beispiel soll geprüft werden, ob die Integer-Variable intA nicht gleich intB ist. Wenn dies der Fall ist, ist der Wert der booleschen Variablen blnErgebnis gleich True, andernfalls ist er gleich False.
Wir verwenden den <> operator in der If-Anweisung, um zu prüfen, ob die Werte von intA und intB unterschiedlich sind:
If intA <> intB Then
blnErgebnis = True
Else
blnErgebnis = False
End If
Der Wert von intA ist 5 und der Wert von intB ist 6. Die Variablen sind nicht gleich und daher gibt blnErgebnis True zurück:
Gleich
Der Gleich-operator funktioniert genau so. Er prüft, ob zwei Werte gleich sind und gibt True oder False zurück. Hier ist der Beispielcode:
Sub Gleich()
Dim intA As Integer
Dim intB As Integer
Dim blnErgebnis As Boolean
intA = 5
intB = 5
If intA = intB Then
blnErgebnis = True
Else
blnErgebnis = False
End If
End Sub
In diesem Beispiel wollen wir prüfen, ob intA gleich intB ist. Wenn dies der Fall ist, ist der boolesche Wert von blnResult gleich True, andernfalls ist er gleich False.
Zunächst setzen wir die Werte von intA und intB auf 5:
intA = 5
intB = 5
Danach verwenden wir den Operator = in der If-Anweisung, um zu prüfen, ob die Werte von intA und intB gleich sind:
If intA = intB Then
blnErgebnis = True
Else
blnErgebnis = False
End If
Beide Variablen sind gleich 5, daher gibt blnErgebnis True zurück:
Größer als / Kleiner als
Größer als (>) und Kleiner als (<) funktionieren auf die gleiche Weise.
Größer als
MsgBox 5 > 3
Kleiner als
MsgBox 5 < 3
Größer als oder gleich / Kleiner als oder gleich
So testen Sie, ob ein Wert Größer/Kleiner als oder Gleich einem anderen ist. Kombinieren Sie den Gleichheitsoperator (=) und die Operatoren Größer als (>) bzw. Kleiner als (<).
Größer als oder gleich
MsgBox 5 >= 3
Kleiner als oder gleich
MsgBox 5 <= 3
Verwenden wir „Größer als“ oder „Gleich“ in demselben Verfahren, das wir bisher verwendet haben:
Sub GroeßerAlsOderGleich()
Dim intA As Integer
Dim intB As Integer
Dim blnErgebnis As Boolean
intA = 5
intB = 5
If intA >= intB Then
blnErgebnis = True
Else
blnErgebnis = False
End If
End Sub
In diesem Beispiel wollen wir prüfen, ob intA größer oder gleich intB ist. Wenn dies der Fall ist, ist der Wert von Boolean blnErgebnis True, andernfalls ist er False.
Wir verwenden den Operator >= in der If-Anweisung, um zu prüfen, ob der Wert von intA größer als oder gleich intB ist:
If intA >= intB Then
blnErgebnis = True
Else
blnErgebnis = False
End If
Da beide Variablen gleich 5 sind, gibt das blnErgebnis True zurück:
Der Is-Operator
Der Is-Operator prüft, ob zwei Objektvariablen das gleiche Objekt enthalten:
Sub ObjekteVergleichen()
Dim ws1 As Worksheet, ws2 As Worksheet
Set ws1 = Worksheets("Tabelle1")
Set ws2 = Worksheets("Tabelle2")
If ws1 Is ws2 Then
MsgBox "Gleiches Arbeitsblatt"
Else
MsgBox "Verschiedene Arbeitsblätter"
End If
End Sub
Der Like-Operator
Der Like-Operator kann verwendet werden, um ungenaue Textübereinstimmungen zu finden. In diesem Beispiel wird geprüft, ob eine Zeichenkette mit „Herr“ beginnt
Sub LikeDemo()
Dim strName As String
Dim blnErgebnis As Boolean
strName = "Herr Michael James"
If strName Like "Herr*" Then
blnErgebnis = True
Else
blnErgebnis = False
End If
End Sub
Wenn Sie lernen möchten, wie man Zeichenketten vergleicht, klicken Sie hier: VBA-Zeichenketten vergleichen – StrComp.
Wenn Sie mehr über die Verwendung logischer Operatoren erfahren möchten, klicken Sie hier: VBA Logische Operatoren.