Vba: een eenvoudige formule voor “als cel bevat”
U kunt de volgende basissyntaxis gebruiken om een formule te gebruiken voor „als cel bevat“ in VBA:
Sub IfContains()
Dim i As Integer
For i = 2 To 8
If InStr(1, LCase(Range(" A " & i)), " turtle ") <> 0 Then
Result = " Contains Turtle "
Else
Result = “ Does Not Contain Turtle ”
End If
Range(" B " & i) = Result
Next i
End Sub
Dit specifieke voorbeeld controleert of elke cel in het bereik A2:A8 „schildpad“ bevat en wijst vervolgens „Bevat een schildpad“ of „Bevat geen schildpad“ toe aan elke overeenkomende cel in het bereik B2:B8 .
Opmerking : De Instr- methode controleert of een string een andere string bevat en de LCase -methode converteert de tekst naar kleine letters om een hoofdletterongevoelige zoekopdracht uit te voeren.
Het volgende voorbeeld laat zien hoe u deze syntaxis in de praktijk kunt gebruiken.
Voorbeeld: Hoe u „Als cel bevat“ gebruikt in VBA
Stel dat we de volgende lijst met cellen in Excel hebben, die elk een andere tekst bevatten:
Stel dat we willen controleren of elke cel in het bereik A2:A8 de tekst „schildpad“ bevat en de resultaten willen weergeven in de overeenkomstige cellen in het bereik B2:B8 .
We kunnen hiervoor de volgende macro maken:
Sub IfContains()
Dim i As Integer
For i = 2 To 8
If InStr(1, LCase(Range(" A " & i)), " turtle ") <> 0 Then
Result = " Contains Turtle "
Else
Result = “ Does Not Contain Turtle ”
End If
Range(" B " & i) = Result
Next i
End Sub
Wanneer we deze macro uitvoeren, ontvangen we de volgende uitvoer:
Kolom B vertelt ons of de overeenkomstige cellen in kolom A ergens in de tekst ’schildpad‘ bevatten.
Opmerking : u kunt hier de volledige documentatie voor de VBA Instr -methode vinden.
Aanvullende bronnen
In de volgende tutorials wordt uitgelegd hoe u andere veelvoorkomende taken in VBA kunt uitvoeren:
VBA: het aantal tekens in een string tellen
VBA: hoe controleer je of een string een andere string bevat?