VBA – Zeichenfolgen vergleichen – StrComp

Written by

Mel Jenkins

Reviewed by

Steve Rynearson

Translated by

Zakarya El Oirzadi

Last updated on August 13, 2022

In VBA können Sie zwei Zeichenketten mit der Funktion StrComp vergleichen. In diesem Tutorial lernen Sie, wie Sie diese Funktion mit verschiedenen Vergleichsmethoden verwenden können.

Wenn Sie lernen möchten, wie Sie den VBA-Operator Like verwenden, um ungenaue Übereinstimmungen zu vergleichen, klicken Sie hier: VBA-Like-Operator.

Wenn Sie lernen möchten, wie Sie Vergleichsoperatoren verwenden, klicken Sie hier: VBA-Vergleichsoperatoren – Nicht gleich & mehr.

 

Die Funktion StrComp zum Vergleichen von zwei Zeichenketten verwenden

Die StrComp-Funktion nimmt zwei Zeichenketten und die Vergleichsmethode als Argumente entgegen. Es gibt 3 Vergleichsmethoden:

  • vbBinaryCompare: vergleicht zwei Zeichenketten binär (Groß- und Kleinschreibung wird berücksichtigt)
  • vbTextCompare: vergleicht zwei Zeichenketten als Text (Groß- und Kleinschreibung wird nicht berücksichtigt)
  • vbDatabaseCompare: diese Methode ist nur in Microsoft Access und nicht in VBA verfügbar.

Standardmäßig verwendet die Funktion die binäre Methode. Wenn wir dieses Argument weglassen, wird die Funktion zwischen Groß- und Kleinschreibung unterscheiden.

Die Funktion gibt die folgenden Ergebnisse zurück:

  • 0 – wenn die Zeichenketten gleich sind
  • -1 – wenn Zeichenkette 1 kleiner als Zeichenkette 2 ist
  • 1 – wenn Zeichenkette 1 größer als Zeichenkette 2 ist
  • Null – wenn eine der Zeichenketten leer ist.

Hier ist der Beispielcode:

Dim intErgebnis As Integer

intErgebnis = StrComp("Rechner", "Rechner")

In diesem Beispiel wollen wir prüfen, ob die Zeichenketten „Rechner“ und „Rechner“ gleich sind, indem wir die Standardvergleichsmethode (binär) verwenden. Das Ergebnis der Funktion befindet sich in der Variablen intErgebnis. Wie Sie in der Abbildung sehen können, sind beide Zeichenketten gleich, daher hat intErgebnis den Wert 0.

vba strComp methode

Abbildung 1. Verwendung der Funktion StrComp mit der binären Methode in VBA

 

Verwendung der StrComp-Funktion mit binärer und textueller Methode

Sie werden nun den Unterschied zwischen der binären und der textuellen Methode sehen. Bei der binären Methode gibt es für jedes Zeichen eine binäre Zahl, so dass Groß- und Kleinbuchstaben bei dieser Methode unterschiedliche Zeichen sind. Bei der textuellen Methode hingegen werden „S“ und „s“ als die gleichen Buchstaben betrachtet. Wenn Sie die Funktion so einstellen wollen, dass sie die Groß- und Kleinschreibung berücksichtigt, müssen Sie das dritte Argument auf vbBinaryCompare setzen. Hier ist der Code:

Dim intErgebnis1 As Integer
Dim intErgebnis2 As Integer  

intErgebnis1 = StrComp("Rechner", "RechNer")

intErgebnis2 = StrComp("Rechner", "RechNer", vbTextCompare)

Wir wollen die Zeichenketten „Rechner“ und „RechNer“ mit beiden Methoden vergleichen.

In der Variablen intErgebnis1 erhalten wir den Wert mit der binären Methode, während intErgebnis2 den Wert mit der textuellen Methode erhält. Sie können hier die Werte dieser beiden Variablen sehen:

vba strComp methode binaer und textuell

Abbildung 2. Verwendung der StrComp-Funktion mit binärer und textueller Methode

Der Wert von intErgebnis1 ist 1, was bedeutet, dass bei der binären Methode zwei unterschiedliche Zeichenketten vorliegen. Bei der textuellen Methode sind diese beiden Zeichenketten gleich, so dass der Wert von intErgebnis2 0 ist.

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