Como contar valores únicos no intervalo usando vba
Você pode usar a seguinte sintaxe básica para contar o número de valores exclusivos em um intervalo usando 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
Este exemplo específico conta o número de valores exclusivos no intervalo A2:A11 e depois exibe a contagem em uma caixa de mensagem.
O exemplo a seguir mostra como usar essa sintaxe na prática.
Exemplo: contar valores exclusivos no intervalo usando VBA
Suponha que temos a seguinte lista de nomes de times de basquete no Excel:
Suponha que queiramos contar o número de nomes de equipes exclusivos no intervalo A2:A11 .
Podemos criar a seguinte macro para fazer isso:
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 executamos esta macro, recebemos a seguinte saída:
A caixa de mensagem informa que existem 5 nomes de equipes exclusivos.
Podemos verificar se isso está correto identificando manualmente cada um dos nomes exclusivos das equipes:
- Mavs
- Aquecer
- Redes
- Guerreiros
- reis
Na verdade, existem 5 nomes de equipes exclusivos.
Nota : Para contar o número de valores exclusivos em um intervalo diferente, basta substituir A2:A11 no loop For Each por um intervalo diferente.
Recursos adicionais
Os tutoriais a seguir explicam como realizar outras tarefas comuns em VBA:
VBA: Como contar células com texto específico
VBA: Como contar o número de linhas no intervalo
VBA: Como escrever funções COUNTIF e COUNTIFS