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 TurtleEnd 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 TurtleEnd 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?

Einen Kommentar hinzufügen

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