VBA – Groß- & Kleinschreibung nicht beachten – Option Compare Text
Bei der Arbeit in VBA müssen Sie häufig Zeichenketten vergleichen. Standardmäßig unterscheidet VBA zwischen Groß- und Kleinschreibung. Wenn Sie also zwei gleiche Texte vergleichen, von denen einer in Großbuchstaben und der andere in Kleinbuchstaben geschrieben ist, wird VBA sie als unterschiedliche Texte betrachten. In diesem Tutorial erfahren Sie, wie Sie die Unterscheidung zwischen Groß- und Kleinschreibung in VBA verhindern können.
Groß- und Kleinschreibung in VBA nicht beachten
Um VBA von der Groß- und Kleinschreibung unabhängig zu machen, müssen Sie Option Compare Text an den Anfang des Moduls setzen. Zunächst werden wir uns das Standardverhalten von VBA ohne diese Option ansehen. Dies ist der Code:
If Tabelle1.Range("A1").Value = Tabelle1.Range("B1").Value Then
MsgBox "Die zwei Texte sind gleich"
Else
MsgBox "Die zwei Texte sind unterschiedlich"
End If
Im Beispiel wollen wir die Zeichenketten aus A1 und B1 vergleichen. Wenn die Zeichenketten gleich sind, wird die Meldungsbox mit der Meldung „Die zwei Texte sind gleich“ zurückgegeben. Wenn sie nicht gleich sind, wird die Meldung „Die zwei Texte sind unterschiedlich“ ausgegeben.
Abbildung 1. Vergleich der Zeichenketten ohne Option Compare Text
Wie Sie in der Abbildung sehen können, sind beide Texte gleich, aber der erste ist in Großbuchstaben, während der zweite in Kleinbuchstaben geschrieben ist. Aus diesem Grund betrachtet VBA sie als unterschiedlich und gibt diese Meldung zurück.
Option Compare Text
Public Sub GrossKleinschreibungTest()
If Tabelle1.Range("A1").Value = Tabelle1.Range("B1").Value Then
MsgBox "Zwei Texte sind gleich"
Else
MsgBox "Zwei Texte sind unterschiedlich"
End If
End Sub
Jetzt fügen wir Option Compare Text am Anfang des Moduls hinzu und sehen den Unterschied. Hier ist der Code. Wir führen den Code mit demselben Beispiel aus:
Abbildung 2. Vergleichen der Zeichenketten mit Option Compare Text
Da nun Option Compare Text vorhanden ist, unterscheidet VBA nicht zwischen Groß- und Kleinschreibung und betrachtet diese beiden Texte als gleich.
Text vergleichen
Wenn Sie Option Compare Text nicht angeben, können Sie die Groß- und Kleinschreibung von Zeichenketten umwandeln, um Vergleiche ohne Berücksichtigung der Groß- und Kleinschreibung durchzuführen. Dies ist mit den Funktionen UCase, LCase oder StrConv möglich. Mehr dazu erfahren Sie hier: VBA-Funktionen Upper, Lower, Propper Case – Case