Vba: cellen tellen met specifieke tekst


U kunt de volgende basissyntaxis gebruiken om met VBA het aantal cellen te tellen in een bereik dat specifieke tekst bevat:

 SubCountCellsWithText ()
    Range(" D2 ") = WorksheetFunction.CountIf(Range(" A2:A13 "), " *avs* ")
End Sub

Dit specifieke voorbeeld telt het aantal cellen in het bereik A2:A13 dat „avs“ bevat, en wijst het resultaat vervolgens toe aan cel D2 .

Opmerking : sterretjes ( * ) worden gebruikt als jokertekens in de Countif- functie.

Als u in plaats daarvan het aantal cellen in een berichtvenster wilt weergeven, kunt u de volgende syntaxis gebruiken:

 SubCountCellsWithText ()

    Dim cellCount As Integer
    
    'Calculate number of cells that contain 'avs'
    cellCount = WorksheetFunction.CountIf(Range(" A2:A13 "), "* avs* ")
    
    'Display the result
    MsgBox "Cells that contain avs : " & cellCount
End Sub

De volgende voorbeelden laten zien hoe u elk van deze methoden in de praktijk kunt gebruiken met de volgende dataset in Excel die informatie bevat over verschillende basketbalspelers:

Voorbeeld 1: Tel cellen met specifieke tekst met VBA en geef de resultaten in de cel weer

Stel dat we het aantal cellen met „avs“ in de teamnaam willen tellen en de resultaten in een specifieke cel willen weergeven.

We kunnen hiervoor de volgende macro maken:

 SubCountCellsWithText ()
    Range(" D2 ") = WorksheetFunction.CountIf(Range(" A2:A13 "), " *avs* ")
End Sub

Wanneer we deze macro uitvoeren, ontvangen we de volgende uitvoer:

Merk op dat cel D2 de waarde 5 bevat.

Dit vertelt ons dat er 5 cellen in het bereik A2:A13 zijn die „avs“ in de teamnaam bevatten.

Voorbeeld 2: Tel cellen met specifieke tekst met behulp van VBA en geef de resultaten weer in het berichtenvenster

Stel dat we in plaats daarvan het aantal cellen met „avs“ willen tellen en de resultaten in een berichtvenster willen weergeven.

We kunnen hiervoor de volgende macro maken:

 SubCountCellsWithText ()

    Dim cellCount As Integer
    
    'Calculate number of cells that contain 'avs'
cellCount = WorksheetFunction.CountIf(Range(" A2:A13 "), " *avs* ")
    
    'Display the result
MsgBox "Cells that contain avs : " & cellCount
End Sub

Wanneer we deze macro uitvoeren, ontvangen we de volgende uitvoer:

Het berichtvenster vertelt ons dat er 5 cellen zijn die „avs“ in de teamnaam bevatten.

Aanvullende bronnen

In de volgende tutorials wordt uitgelegd hoe u andere veelvoorkomende taken in VBA kunt uitvoeren:

VBA: een eenvoudige formule voor “Als cel bevat”
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