VBA – Platzhalter
In this Article
In diesem Tutorial zeigen wir Ihnen, wie Sie Platzhalter in VBA verwenden können.
Platzhalter 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. Zum Beispiel findet die Textzeichenfolge „ma*“ die Wörter Mama, Maus, Marder, Mami usw., während die Textzeichenfolge „ma?“ nur das Wort Mama findet, da der Platzhalter ? nur ein Zeichen ersetzt.
Wir verwenden Platzhalter mit dem Like-Operator , der eine einfachere Alternative zu VBA-Regex darstellt.
Verwendung des Asterix-Platzhalters (*) in VBA
Der Asterix-Platzhalter ersetzt ein oder mehrere Zeichen in einer VBA-Zeichenfolge.
Betrachten wir den folgenden Zellenbereich in Excel:
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.
Sub NachMPruefen()
Dim x As Integer
For x = 3 To 8
If Range("B" & x).Value Like "M*" Then
Range("B" & x).Font.Color = vbRed
End If
Next x
End Sub
Wir haben also den Bereich in einer Schleife durchlaufen und alle Vornamen gefunden, die mit dem Buchstaben M beginnen, da unsere Platzhalterzeichenfolge „M*“ lautet.
Das Ergebnis der Ausführung des obigen Codes ist unten dargestellt.
Wenn wir die Platzhalterzeichenfolge „Ma*“ verwendet hätten, würden sich nur die ersten Namen in B3 und B4 ändern.
Verwendung des Fragezeichens (?) als Platzhalter in VBA
Das Fragezeichen ersetzt ein einzelnes Zeichen in einer VBA-Zeichenkette.
Betrachten Sie die folgenden Daten:
Wir können den Platzhalter „?im“ verwenden, um alle Vornamen zu finden, die mit „im“ enden.
Sub NachMPruefen()
Dim x As Integer
For x = 3 To 8
If Range("B" & x).Value Like "?im" Then
Range("B" & x).Font.Color = vbRed
End If
Next x
End Sub
Das Ergebnis der Ausführung dieses Codes ist unten dargestellt:
Verwendung von [Zeichenliste] als Platzhalter
Das obige Beispiel kann leicht abgeändert werden, damit wir zusätzlich zu einer Liste zulässiger Zeichen das Fragezeichen verwenden können. Die Platzhalterzeichenfolge kann daher in „?[e-i]m“ geändert werden, wobei das erste Zeichen ein beliebiges Zeichen sein kann, das zweite ein Zeichen zwischen e und i sein muss und der letzte Buchstabe das Zeichen „m“ sein muss. Es sind nur 3 Zeichen erlaubt.
Sub ZeichListeTest()
Dim x As Integer
For x = 3 To 8
If Range("B" & x).Value Like "?[e-i]m" Then
Range("B" & x).Font.Color = vbRed
End If
Next x
End Sub
Das Ergebnis dieses Codes wäre:
Verwendung des Platzhalters Raute (#) in VBA
Der Platzhalter Raute (#) ersetzt eine einzelne Ziffer in einer VBA-Zeichenfolge. Wir können zwischen 0 und 9 vergleichen.
Sub NachZahlPruefen()
Dim x As Integer, y As Integer
For x = 3 To 8
For y = 2 To 5
If ActiveSheet.Cells(x, y) Like "##" Then
ActiveSheet.Cells(x, y).Font.Color = vbRed
End If
Next y
Next x
End Sub
Der obige Code durchläuft alle Zellen im Bereich („B3:E8“) und ändert die Textfarbe in jeder Zelle, in der eine zweistellige Zahl gefunden wird, auf ROT.
Im folgenden Beispiel ändert der Code die Zahl nur, wenn die letzte Ziffer eine 9 ist.
Sub Nach9Pruefen()
Dim x As Integer, y As Integer
For x = 3 To 8
For y = 2 To 5
If ActiveSheet.Cells(x, y) Like "#9" Then
ActiveSheet.Cells(x, y).Font.Color = vbRed
End If
Next y
Next x
End Sub