Come contare valori univoci nell'intervallo utilizzando vba
È possibile utilizzare la seguente sintassi di base per contare il numero di valori univoci in un intervallo utilizzando 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
Questo particolare esempio conta il numero di valori univoci nell’intervallo A2:A11 e quindi visualizza il conteggio in una finestra di messaggio.
L’esempio seguente mostra come utilizzare questa sintassi nella pratica.
Esempio: contare i valori univoci nell’intervallo utilizzando VBA
Supponiamo di avere il seguente elenco di nomi di squadre di basket in Excel:
Supponiamo di voler contare il numero di nomi di squadre univoci nell’intervallo A2:A11 .
Per fare ciò possiamo creare la seguente macro:
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
Quando eseguiamo questa macro, riceviamo il seguente output:
La finestra di messaggio ci dice che ci sono 5 nomi di squadra univoci.
Possiamo verificare che ciò sia corretto identificando manualmente ciascuno dei nomi univoci della squadra:
- Mav
- Calore
- Reti
- Guerrieri
- re
Ci sono infatti 5 nomi di squadre univoci.
Nota : per contare il numero di valori univoci in un intervallo diverso, è sufficiente sostituire A2:A11 nel ciclo For Each con un intervallo diverso.
Risorse addizionali
I seguenti tutorial spiegano come eseguire altre attività comuni in VBA:
VBA: come contare le celle con testo specifico
VBA: come contare il numero di righe nell’intervallo
VBA: come scrivere le funzioni COUNTIF e COUNTIFS