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

Einen Kommentar hinzufügen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert