So verwenden sie platzhalter in vba (mit beispielen)
Sie können den Like- Operator in VBA mit den folgenden integrierten Platzhaltern verwenden, um nach bestimmten Mustern in Zeichenfolgen zu suchen:
- * : Entspricht einer beliebigen Anzahl von Zeichen
- ? : Entspricht einem einzelnen Zeichen
- # : entspricht einer einzelnen Ziffer
- [] : Entspricht jedem Zeichen innerhalb des Bereichs
Die folgenden Beispiele zeigen, wie Sie diese Platzhalter in der Praxis verwenden.
Beispiel 1: Verwenden Sie *Wildcard, um nach einer Teilzeichenfolge zu suchen
Angenommen, wir haben die folgende Liste von Lebensmitteln in Spalte A:
Wir können das folgende Makro erstellen, um in jeder Zeichenfolge in Spalte A nach der „heißen“ Teilzeichenfolge zu suchen und die Ergebnisse in Spalte B anzuzeigen:
Sub FindString()
Dim i As Integer
For i = 2 To 10
If Range(" A " & i) Like " *hot* " Then
Range(" B " & i) = " Contains hot "
Else
Range(" B " & i) = " Does Not Contain hot "
End If
Next i
End Sub
Wenn wir dieses Makro ausführen, erhalten wir die folgende Ausgabe:
Beispiel 2: Verwenden Sie das Platzhalterzeichen *, um nach Zeichenfolgen zu suchen, die mit einem Muster enden
Angenommen, wir haben die folgende Liste von Basketballmannschaftsnamen in Spalte A:
Wir können das folgende Makro erstellen, um in Spalte A nach Zeichenfolgen zu suchen, die auf „ets“ enden, und die Ergebnisse in Spalte B anzuzeigen:
Sub FindEndingString()
Dim i As Integer
For i = 2 To 10
If Range(" A " & i) Like " *ets " Then
Range(" B " & i) = " Ends in ets "
Else
Range(" B " & i) = " Does Not End in ets "
End If
Next i
End Sub
Wenn wir dieses Makro ausführen, erhalten wir die folgende Ausgabe:
Beispiel 3: Verwenden Sie den Platzhalter #, um nach Zahlen zu suchen
Angenommen, wir haben die folgende Liste von Zeichenfolgen in Spalte A:
Wir können das folgende Makro erstellen, um in Spalte A nach Zeichenfolgen mit Zahlen zu suchen und die Ergebnisse in Spalte B anzuzeigen:
SubFindNumbers ()
Dim i As Integer
For i = 2 To 10
If Range(" A " & i) Like " *#* " Then
Range(" B " & i) = " Contains Numbers "
Else
Range(" B " & i) = " Does Not Contain Numbers "
End If
Next i
End Sub
Wenn wir dieses Makro ausführen, erhalten wir die folgende Ausgabe:
Beispiel 4: Verwenden Sie den Platzhalter [], um nach mehreren Zeichen zu suchen
Angenommen, wir haben die folgende Liste von Basketballmannschaftsnamen in Spalte A:
Wir können das folgende Makro erstellen, um Spalte A nach Zeichenfolgen zu durchsuchen, die irgendwo im Teamnamen ein r, s oder t enthalten, und die Ergebnisse in Spalte B anzuzeigen:
Sub FindSpecificLetters()
Dim i As Integer
For i = 2 To 10
If Range(" A " & i) Like " *[rt]* " Then
Range(" B " & i) = " Contains r, s, or t "
Else
Range(" B " & i) = " Does Not Contain r, s or t "
End If
Next i
End Sub
Wenn wir dieses Makro ausführen, erhalten wir die folgende Ausgabe:
Hinweis : Die vollständige VBA-Wildcard-Dokumentation finden Sie hier .
Zusätzliche Ressourcen
In den folgenden Tutorials wird erklärt, wie Sie andere häufige Aufgaben mit VBA ausführen:
VBA: So zählen Sie das Vorkommen von Zeichen in einer Zeichenfolge
VBA: So überprüfen Sie, ob eine Zeichenfolge eine andere Zeichenfolge enthält
VBA: So zählen Sie Zellen mit bestimmtem Text