Hoe u unieke waarden binnen bereik kunt tellen met vba
U kunt de volgende basissyntaxis gebruiken om het aantal unieke waarden in een bereik te tellen met behulp van VBA:
SubCountUnique ()
Dim Rng As Range, List As Object, UniqueCount As Long
Set List = CreateObject(" Scripting.Dictionary ")
'count unique values in range A2:A11
For Each Rng In Range(" A2:A11 ")
If Not List.Exists(Rng.Value) Then List.Add Rng.Value, Nothing
Next
'store unique count
UniqueCount = List.Count
' display unique count
MsgBox " Count of Unique Values: " & UniqueCount
End Sub
Dit specifieke voorbeeld telt het aantal unieke waarden in het bereik A2:A11 en geeft vervolgens de telling weer in een berichtvenster.
Het volgende voorbeeld laat zien hoe u deze syntaxis in de praktijk kunt gebruiken.
Voorbeeld: Tel unieke waarden binnen bereik met behulp van VBA
Stel dat we de volgende lijst met basketbalteamnamen in Excel hebben:
Stel dat we het aantal unieke teamnamen in het bereik A2:A11 willen tellen.
We kunnen hiervoor de volgende macro maken:
SubCountUnique()
Dim Rng As Range, List As Object, UniqueCount As Long
Set List = CreateObject(" Scripting.Dictionary ")
'count unique values in range A2:A11
For Each Rng In Range(" A2:A11 ")
If Not List.Exists(Rng.Value) Then List.Add Rng.Value, Nothing
Next
'store unique count
UniqueCount = List.Count
'display unique count
MsgBox " Count of Unique Values: " & UniqueCount
End Sub
Wanneer we deze macro uitvoeren, ontvangen we de volgende uitvoer:
Het berichtvenster vertelt ons dat er 5 unieke teamnamen zijn.
We kunnen verifiëren dat dit juist is door elk van de unieke teamnamen handmatig te identificeren:
- Mav
- Warmte
- Netten
- Strijders
- koningen
Er zijn namelijk 5 unieke teamnamen.
Opmerking : om het aantal unieke waarden in een ander bereik te tellen, vervangt u eenvoudigweg A2:A11 in de For Each- lus door een ander bereik.
Aanvullende bronnen
In de volgende tutorials wordt uitgelegd hoe u andere veelvoorkomende taken in VBA kunt uitvoeren:
VBA: cellen tellen met specifieke tekst
VBA: het aantal rijen binnen bereik tellen
VBA: Hoe COUNTIF- en COUNTIFS-functies te schrijven