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:

Numero VBA singolo

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

Aggiungi un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *