VBA-Wildcards

Dieses Tutorial zeigt, wie Sie Platzhalter in VBA verwenden.

Wildcards werden in allen Programmiersprachen und Datenbankanwendungen wie SQL Server verwendet. Ein Platzhalter kann als Symbol definiert werden, das verwendet wird, um ein oder mehrere Zeichen in einer Textzeichenfolge zu ersetzen. Diese Textzeichenfolge – „mo*“ – findet zum Beispiel die Wörter Mama, Maus, Elch, Mama usw.; während diese Textzeichenfolge "mo?" findet nur das Wort Mama als Platzhalter? ersetzt nur ein Zeichen.

Wir verwenden Wildcards mit dem Like Operator, der eine einfachere Alternative zu VBA Regex ist.

Verwenden des Asterix (*)-Platzhalters in VBA

Der Asterix-Platzhalter ersetzt ein oder mehrere Zeichen in einem VBA-String.

Schauen wir uns den folgenden Zellbereich in Excel an:

Durch die Verwendung eines Asterix-Platzhalters in unserem VBA-Code können wir alle Vornamen finden, die mit „M“ beginnen, und die Farbe des Textes in Rot ändern.

12345678 Unter CheckForM()Dim x As IntegerFür x = 3 bis 8If Range("B" & x).Wert wie "M*" ThenRange("B" & x).Font.Color = vbRedEnde WennNächstes xEnd Sub

Wir haben daher den Bereich durchgeschleift und alle Vornamen gefunden, die mit dem Buchstaben M beginnen, da unser Platzhalterstring „“ ist.M*

Das Ergebnis der Ausführung des obigen Codes wird unten angezeigt.

Wenn wir die Wildcard-Zeichenfolge „Ma*“ verwenden würden, würden sich nur die Vornamen in B3 und B4 ändern.

Verwenden des Fragezeichens (?) Platzhalters in VBA

Das Fragezeichen ersetzt ein einzelnes Zeichen in einer VBA-Zeichenfolge.

Betrachten Sie die folgenden Daten:

Wir können die Platzhalterzeichenfolge „?im“ verwenden, um alle Vornamen zu finden, die auf „im“ enden.

12345678 Unter CheckForIM()Dim x As IntegerFür x = 3 bis 8If Range("B" & x).Value Like "?im" ThenRange("B" & x).Font.Color = vbRedEnde WennNächstes xEnd Sub

Das Ergebnis der Ausführung dieses Codes wird unten angezeigt:

Verwenden von [char list] als Platzhalter

Das obige Beispiel kann leicht modifiziert werden, damit wir das Fragezeichen zusätzlich zu einer Zeichenliste der zulässigen Zeichen verwenden können. Die Wildcard-Zeichenfolge kann daher in „?[e-i]m“ geändert werden, wobei das erste Zeichen beliebig sein kann, das zweite Zeichen ein Zeichen zwischen e und i sein muss und der letzte Buchstabe das Zeichen „m“ sein muss. Es sind nur 3 Zeichen erlaubt.

12345678 Sub CharListTest()Dim x As IntegerFür x = 3 bis 8If Range("B" & x).Value Like "?[e-i]m" ThenRange("B" & x).Font.Color = vbRedEnde WennNächstes xEnd Sub

Das Ergebnis dieses Codes wäre:

VBA-Programmierung | Code Generator arbeitet für Sie!

Hash (#) Wildcard in VBA verwenden

Der Platzhalter Hash (#) ersetzt eine einzelne Ziffer in einem VBA-String. Wir können zwischen 0 und 9 abgleichen.

12345678910 Unter CheckForNumber()Dim x als Integer, y als IntegerFür x = 3 bis 8Für y = 2 bis 5Wenn ActiveSheet.Cells(x, y) Like "##" ThenActiveSheet.Cells(x, y).Font.Color = vbRedEnde WennAls nächstesNächstes xEnd Sub

Der obige Code durchläuft alle Zellen im Bereich ("B3:E8") und ändert die Farbe des Textes in einer Zelle in ROT, wenn in dieser Zelle eine zweistellige Zahl gefunden wird.

Im folgenden Beispiel ändert der Code die Zahl nur, wenn die letzte Zahl eine 9 ist.

12345678910 Unter CheckFor9()Dim x als Integer, y als IntegerFür x = 3 bis 8Für y = 2 bis 5Wenn ActiveSheet.Cells(x, y) Like "#9" ThenActiveSheet.Cells(x, y).Font.Color = vbRedEnde WennAls nächstesNächstes xEnd Sub

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

wave wave wave wave wave