Vba: hoe controleer je of een string een andere string bevat?
U kunt de functie Instr() in VBA gebruiken om te controleren of een string een andere string bevat.
Deze functie gebruikt de volgende basissyntaxis:
Instr(begin, string1, string2, …)
Goud:
- start : De startpositie van de zoekopdracht
- string1 : De tekenreeks waarnaar moet worden gezocht
- string2 : de string die u probeert te vinden
Het volgende voorbeeld laat zien hoe u deze functie in de praktijk kunt gebruiken.
Voorbeeld: Gebruik VBA om te controleren of string een andere string bevat
Stel dat we de volgende gegevensset in Excel hebben die informatie bevat over verschillende basketbalteams:
Laten we nu zeggen dat we willen controleren of elke tekenreeks in de kolom Team ergens in de tekenreeks ‚avs‘ bevat.
We kunnen de volgende syntaxis in VBA gebruiken om te controleren of elke string in de Team-kolom „avs“ bevat en, zo ja, de volledige rij in de kolommen D en E retourneren:
Sub StringContains() Dim i As Integer , i_num As Integer For i = 2 To 9 If InStr(1, LCase(Range(" A " & i)), " avs ") <> 0 Then i_num = i_num + 1 Range(" D " & i_num & " :E " & i_num) = Range(" A " & i & " :B " & i).Value End If Next i End Sub
Wanneer we deze macro uitvoeren, ontvangen we de volgende uitvoer:
Houd er rekening mee dat elk van de rijen die de tekenreeks „avs“ ergens in de kolom Team bevatten, wordt geretourneerd in de kolommen D en E.
In dit voorbeeld bevatten slechts twee teams (Mavs en Cavs) „avs“ in de teamkolom.
Om naar een andere string te zoeken, vervangt u eenvoudigweg „avs“ in de bovenstaande code door de string van uw keuze.
Opmerking #1: In de code gebruikten we For i = 2 tot en met 9, omdat de cellen A2 tot en met A9 de tekenreeksen bevatten waarin we geïnteresseerd waren. U kunt dit bereik gerust wijzigen, afhankelijk van het cellenbereik dat u zoekt.
Opmerking #2 : U kunt hier de volledige documentatie van de Instr() -functie in VBA 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: het aantal rijen binnen bereik tellen
VBA: Hoe de gemiddelde waarde van het bereik te berekenen