Logische VBA-Operatoren - ODER, UND, XOR, NICHT, IST & LIKE

Mit VBA können Sie die logischen Operatoren verwenden Und, Oder, Nicht, Xor Werte zu vergleichen. Die Operatoren werden als „Boolean“ betrachtet, was bedeutet, dass sie als Ergebnis True oder False zurückgeben.

Wenn Sie lernen möchten, wie man Strings vergleicht, klicken Sie hier: VBA Compare Strings - StrComp

Wenn Sie lernen möchten, wie man Vergleichsoperatoren verwendet, klicken Sie hier: VBA-Vergleichsoperatoren - Nicht gleich & Mehr

Verwenden des logischen Operators And

Die Und Der logische Operator vergleicht zwei oder mehr Bedingungen. Wenn alle Bedingungen wahr sind, gibt der Operator True zurück. Wenn mindestens eine der Bedingungen nicht wahr ist, gibt der Operator False zurück. Hier ist ein Beispiel:

123456789101112 Dim intA As IntegerDim intB As IntegerDim blnResult As BooleanintA = 5intB = 5Wenn intA = 5 Und intB = 5 DannblnResult = TrueAndersblnResult = FalseEnde Wenn

In diesem Beispiel wollen wir prüfen, ob beide intA und intB gleich 5 sind. Wenn dies wahr ist, ist der Wert von Boolean blnErgebnis wird True sein, andernfalls wird es False sein.

Zuerst setzen wir Werte von intA und intB zu 5:

12 intA = 5intB = 5

Danach verwenden wir die Und Operator in der If-Anweisung, um zu überprüfen, ob die Werte gleich 5 sind:

12345 Wenn intA = 5 Und intB = 5 DannblnResult = TrueAndersblnResult = FalseEnde Wenn

Da beide Variablen gleich 5 sind, ist die blnErgebnis gibt True zurück:

Bild 1. Verwenden des logischen Operators And in VBA

Verwenden des logischen Operators Or

Die Oder Der logische Operator vergleicht zwei oder mehr Bedingungen. Wenn mindestens eine der Bedingungen wahr ist, wird True zurückgegeben. Wenn keine der Bedingungen wahr ist, gibt der Operator False zurück. Hier der Code für das Beispiel:

123456789101112 Dim intA As IntegerDim intB As IntegerDim blnResult As BooleanintA = 5intB = 10Wenn intA = 5 Oder intB = 5 DannblnResult = TrueAndersblnResult = FalseEnde Wenn

In diesem Beispiel wollen wir prüfen, ob beide intA ist gleich 5. oder intB ist gleich 10. Wenn eine dieser Bedingungen zutrifft, ist der Wert von Boolean blnErgebnis wird True sein, andernfalls wird es False sein.

Zuerst setzen wir den Wert von intA bis 5 und intB bis 10:

12 intA = 5intB = 10

Danach verwenden wir die Oder Operator in der If-Anweisung, um zu überprüfen, ob einer der Werte gleich 5 ist:

12345 Wenn intA = 5 Oder intB = 5 DannblnResult = TrueAndersblnResult = FalseEnde Wenn

Wie intA Wert ist 5, der blnErgebnis gibt True zurück:

Bild 2. Verwenden des logischen Operators Or in VBA

Verwenden des nicht logischen Operators

Die Nicht Der logische Operator prüft eine oder mehrere Bedingungen. Wenn die Bedingungen wahr sind, gibt der Operator False zurück. Andernfalls wird True zurückgegeben. Hier ist der Code für das Beispiel:

12345678910 Dim intA As IntegerDim blnResult As BooleanintA = 5Wenn nicht (intA = 6) DannblnResult = TrueAndersblnResult = FalseEnde Wenn

In diesem Beispiel wollen wir prüfen, ob der Wert von intA ist ungleich 6. Wenn intA ungleich 6 ist, ist der Wert von Boolean blnErgebnis wird True sein, andernfalls wird es False sein.

Zuerst setzen wir den Wert von intA zu 5:

1 intA = 5

Danach verwenden wir den Not-Operator in der If-Anweisung, um zu überprüfen, ob der Wert von intA von 6 abweicht:

12345 Wenn nicht (intA = 6) DannblnResult = TrueAndersblnResult = FalseEnde Wenn

Wie intA Wert ist 5, der blnErgebnis gibt True zurück:

Bild 3. Verwenden des logischen Operators Not in VBA

Verwenden des logischen Xor-Operators

Die Xor Der logische Operator vergleicht zwei oder mehr Bedingungen. Wenn genau eine der Bedingungen wahr ist, wird True zurückgegeben. Wenn keine oder mehrere Bedingungen wahr sind, wird False zurückgegeben. Hier der Code für das Beispiel:

123456789101112 Dim intA As IntegerDim intB As IntegerDim blnResult As BooleanintA = 5intB = 10Wenn intA = 5 Xoder intB = 5 DannblnResult = TrueAndersblnResult = FalseEnde Wenn

In diesem Beispiel wollen wir prüfen, ob genau einer der Werte (intA oder IntB) gleich 5 ist. Wenn nur eine Bedingung wahr ist, ist der Wert von Boolean blnErgebnis wird True sein, andernfalls wird es False sein.

Zuerst setzen wir den Wert von intA bis 5 und intB bis 10:

12 intA = 5intB = 10

Danach verwenden wir die Oder Operator in der If-Anweisung, um zu überprüfen, ob einer der Werte gleich 5 ist:

12345 Wenn intA = 5 Xoder intB = 5 DannblnResult = TrueAndersblnResult = FalseEnde Wenn

Wie intA Wert ist 5 und intB ist 10, die blnErgebnis gibt True zurück:

Bild 4. Verwenden des logischen Xor-Operators in VBA

Ist Betreiber

Der Is-Operator testet, ob zwei Objektvariablen dasselbe Objekt speichern.

Schauen wir uns ein Beispiel an. Hier werden wir den Arbeitsblattobjekten rng1 und rng2 zwei Arbeitsblätter zuweisen und testen, ob die beiden Arbeitsblattobjekte dasselbe Arbeitsblatt speichern:

12345678910111213 Unter CompareObjects()Dim ws1 als Arbeitsblatt, ws2 als ArbeitsblattSet ws1 = Sheets("Sheet1")Set ws2 = Sheets("Sheet2")Wenn ws1 ws2 ist, dannMsgBox "Gleiche WS"AndersMsgBox "Verschiedene WSs"Ende WennEnd Sub

Natürlich sind die Arbeitsblattobjekte nicht gleich, daher wird „Different WSs“ zurückgegeben.

Gefällt mir Betreiber

Der Like-Operator kann zwei Strings auf ungenaue Übereinstimmungen vergleichen. In diesem Beispiel wird getestet, ob eine Zeichenfolge mit „Mr.“ beginnt.

1234567891011121314 Abo LikeDemo()Dim strName als StringDim blnResult As BooleanstrName = "Herr Michael James"Wenn strName wie "Mr*" ThenblnResult = TrueAndersblnResult = FalseEnde WennEnd Sub

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

wave wave wave wave wave