Jokertekens gebruiken in vba (met voorbeelden)
U kunt de Like- operator in VBA gebruiken met de volgende ingebouwde jokertekens om naar specifieke patronen in tekenreeksen te zoeken:
- * : Komt overeen met een willekeurig aantal tekens
- ? : komt overeen met één teken
- # : komt overeen met een enkel cijfer
- [] : komt overeen met elk teken binnen bereik
De volgende voorbeelden laten zien hoe u deze jokertekens in de praktijk kunt gebruiken.
Voorbeeld 1: Gebruik *Wildcard om naar een subtekenreeks te zoeken
Stel dat we de volgende lijst met voedingsmiddelen in kolom A hebben:
We kunnen de volgende macro maken om te zoeken naar de „hot“ subtekenreeks in elke tekenreeks in kolom A en de resultaten weer te geven in kolom B:
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
Wanneer we deze macro uitvoeren, ontvangen we de volgende uitvoer:
Voorbeeld 2: Gebruik het jokerteken * om te zoeken naar tekenreeksen die eindigen op een patroon
Stel dat we de volgende lijst met basketbalteamnamen in kolom A hebben:
We kunnen de volgende macro maken om te zoeken naar tekenreeksen in kolom A die eindigen op „ets“ en de resultaten in kolom B weer te geven:
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
Wanneer we deze macro uitvoeren, ontvangen we de volgende uitvoer:
Voorbeeld 3: Gebruik het jokerteken # om naar getallen te zoeken
Stel dat we de volgende lijst met tekenreeksen in kolom A hebben:
We kunnen de volgende macro maken om te zoeken naar tekenreeksen in kolom A die getallen bevatten en de resultaten in kolom B weergeven:
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
Wanneer we deze macro uitvoeren, ontvangen we de volgende uitvoer:
Voorbeeld 4: Gebruik het jokerteken [] om naar meerdere tekens te zoeken
Stel dat we de volgende lijst met basketbalteamnamen in kolom A hebben:
We kunnen de volgende macro maken om kolom A te doorzoeken op tekenreeksen die ergens in de teamnaam een r, s of t bevatten en de resultaten in kolom B weergeven:
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
Wanneer we deze macro uitvoeren, ontvangen we de volgende uitvoer:
Opmerking : u kunt de volledige VBA-wildcarddocumentatie hier vinden.
Aanvullende bronnen
In de volgende tutorials wordt uitgelegd hoe u andere veelvoorkomende taken kunt uitvoeren met VBA:
VBA: het aantal tekens in een string tellen
VBA: hoe controleer je of een string een andere string bevat?
VBA: cellen tellen met specifieke tekst