In VBA können Sie zwei Strings mit dem vergleichen Mögen Operator, um die Übereinstimmung der Zeichenfolgen zu überprüfen. In diesem Tutorial erfahren Sie, wie Sie diesen Operator mit verschiedenen Mustern verwenden.
Wenn Sie lernen möchten, wie man Strings in VBA 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 Like-Operators zum Vergleichen von zwei Strings
Mit dem Like-Operator können wir überprüfen, ob eine Zeichenfolge mit einem bestimmten Text beginnt, diesen einschließt usw. Standardmäßig ist die Mögen Operator vergleicht Zeichen mit der Binary-Methode. Dies bedeutet, dass beim Operator die Groß-/Kleinschreibung beachtet wird. Wenn Sie die Groß-/Kleinschreibung nicht berücksichtigen möchten, müssen Sie Folgendes eingeben: Option Text vergleichen ganz oben in Ihrem Modul. Mit dieser Methode wird die Mögen Operator betrachtet „S“ und „s“ als dieselben Zeichen. In unseren Beispielen verwenden wir den standardmäßigen Vergleich, bei dem die Groß-/Kleinschreibung beachtet wird.
Wenn die Übereinstimmung vorhanden ist, wird die Mögen Als Ergebnis gibt der Operator True zurück, andernfalls False.
Zuerst schauen wir uns das einfache Beispiel an, in dem wir prüfen wollen, ob unsere String-Variable mit beginnt Herr. Dazu müssen Sie am Ende des passenden Textes ein Sternchen (*) einfügen (Herr*). Hier ist der Code:
1234567891011121314 | Abo LikeDemo()Dim strName als StringDim blnResult As BooleanstrName = "Herr Michael James"Wenn strName wie "Mr*" ThenblnResult = TrueAndersblnResult = FalseEnde WennEnd Sub |
In diesem Beispiel wollen wir prüfen, ob string strName beginnt mit Herr und geben True oder False in der Variablen zurück blnErgebnis.
Zuerst setzen wir den Wert von strName zu Herr Michael James:
1 | strName = "Herr Michael James" |
Dann verwenden wir die Mögen Operator in der If-Anweisung:
12345 | Wenn strName wie "Mr*" ThenblnResult = TrueAndersblnResult = FalseEnde Wenn |
Als die strName beginnt mit Herr, das blnErgebnis gibt True zurück:
Bild 1. Mit dem Like-Operator prüfen, ob die Zeichenfolge mit bestimmten Zeichen beginnt
Verwenden des Like-Operators mit verschiedenen übereinstimmenden Mustern
Der Like-Operator kann die Übereinstimmung von zwei Zeichenfolgen basierend auf unterschiedlichen Mustern überprüfen. Hier ist die Liste der möglichen passenden Muster:
Mustercode |
Art des Matchings |
* | Entspricht 0 oder mehr Zeichen |
? | Entspricht einem einzelnen Zeichen |
# | Entspricht einer einzelnen Ziffer |
[Zeichen] | Entspricht einem einzelnen Zeichen aus einer Zeichenliste |
[A-Z] | Entspricht jedem Großbuchstaben aus dem Alphabet |
[A-Za-z] | Entspricht jedem Zeichen aus dem Alphabet |
[!chars] | Entspricht einem einzelnen Zeichen mit Ausnahme einer Zeichenliste |
Jetzt können wir sehen, wie diese Muster im Code verwendet werden. Hier ist das Beispiel für mehrere Muster:
Übereinstimmung mit einem einzelnen Zeichen:
1234567 | strText1 = "ABCDE"Wenn strText1 Like "AB?DE" ThenblnResult1 = TrueAndersblnResult1 = FalschEnde Wenn |
Übereinstimmung mit einer einzelnen Ziffer:
1234567 | strText2 = "AB7DE"Wenn strText2 wie "AB#DE" ThenblnResult2 = TrueAndersblnResult2 = FalschEnde Wenn |
Passende Großbuchstaben aus dem Alphabet:
1234567 | strText3 = "ABCDE"Wenn strText3 wie "AB[A-Z]DE" ThenblnResult3 = TrueAndersblnResult3 = FalschEnde Wenn |
Keine Übereinstimmung mit Großbuchstaben aus dem Alphabet:
1234567 | strText4 = "AB7DE"Wenn strText4 wie "AB[!A-Z]DE" ThenblnResult4 = TrueAndersblnResult4 = FalschEnde Wenn |
Übereinstimmung mit einem beliebigen Zeichen aus dem Alphabet (Groß- oder Kleinschreibung):
1234567 | strText5 = "ABcDE"Wenn strText5 wie "AB[A-Za-z]DE" ThenblnResult5 = TrueAndersblnResult5 = FalschEnde Wenn |
Wenn Sie den Code ausführen, können Sie sehen, dass die Mögen Operator gibt True in . zurück blnErgebnis Variablen für jeden Vergleich:
Bild 2. Verwenden des Like-Operators mit verschiedenen übereinstimmenden Mustern