Während Sie in VBA arbeiten, müssen Sie häufig Zeichenfolgen vergleichen. Standardmäßig, VBA unterscheidet zwischen Groß- und Kleinschreibung, also wenn Sie zwei gleiche Texte vergleichen und einer davon in Großbuchstaben und der andere in Kleinbuchstaben ist, betrachtet VBA sie als unterschiedliche Texte. In diesem Tutorial erfahren Sie, wie Sie verhindern können, dass VBA zwischen Groß- und Kleinschreibung unterscheidet.
VBA-Groß-/Kleinschreibung unempfindlich machen
Damit VBA die Groß-/Kleinschreibung nicht berücksichtigt, müssen Sie Folgendes eingeben: Option Text vergleichen am Anfang des Moduls. Zuerst betrachten wir das Standard-VBA-Verhalten ohne diese Option. Dies ist der Code:
123456789 | Wenn Sheet1.Range("A1").Value = Sheet1.Range("B1").Value ThenMsgBox "Zwei Texte sind gleich"AndersMsgBox "Zwei Texte sind unterschiedlich"Ende Wenn |
Im Beispiel wollen wir die Saiten von A1 und B1 vergleichen. Wenn die Zeichenfolgen gleich sind, geben wir die Meldungsbox mit der Meldung „Zwei Texte sind gleich“ zurück. Wenn sie nicht gleich sind, geben wir die Meldung „Zwei Texte sind unterschiedlich.
Bild 1. Vergleichen der Strings ohne die Option Text vergleichen
Wie Sie auf dem Bild sehen können, sind beide Texte gleich, aber der erste ist in Großbuchstaben, der zweite in Kleinbuchstaben. Aus diesem Grund betrachtet VBA sie als unterschiedlich und gibt diese Nachricht zurück.
1234567891011 | Option Text vergleichenPublic Sub CaseSensitiveTest()Wenn Sheet1.Range("A1").Value = Sheet1.Range("B1").Value ThenMsgBox "Zwei Texte sind gleich"AndersMsgBox "Zwei Texte sind unterschiedlich"Ende WennEnd Sub |
Jetzt fügen wir die Option Text vergleichen am Anfang des Moduls hinzu und sehen den Unterschied. Hier ist der Code. Wir führen den Code im gleichen Beispiel aus:
Bild 2. Vergleichen der Strings mit der Option Text vergleichen
Wenn nun die Option Text vergleichen gesetzt ist, beachtet die VBA die Groß-/Kleinschreibung nicht und betrachtet diese beiden Texte als gleich.
Textvergleich
Wenn Sie nicht deklarieren Option Text vergleichen, können Sie Groß-/Kleinschreibung konvertieren, um Vergleiche ohne Beachtung der Groß-/Kleinschreibung durchzuführen. Dies ist durch die UCase-, LCase- oder StrConv-Funktion möglich. Mehr dazu erfahren Sie hier: VBA Upper, Lower und Proper Case - Case Functions