Vba: como obter valores únicos de uma coluna
Você pode usar a função AdvancedFilter no VBA para obter rapidamente uma lista de valores exclusivos de uma coluna no Excel.
Esta é uma maneira comum de fazer isso:
Sub GetUniqueValues()
Range(" A1:A11 ").AdvancedFilter_
Action:=xlFilterCopy, CopyToRange:=Range(" E1 "), Unique:= True
End Sub
Este exemplo específico extrai uma lista de valores exclusivos do intervalo A1:A11 e os exibe na célula E1 .
O exemplo a seguir mostra como usar essa sintaxe na prática.
Exemplo: Obtenha valores exclusivos de uma coluna usando VBA
Digamos que temos o seguinte conjunto de dados no Excel que contém informações sobre vários jogadores de basquete:
Digamos que queremos extrair uma lista de valores exclusivos da coluna Equipe .
Podemos criar a seguinte macro para fazer isso:
Sub GetUniqueValues()
Range(" A1:A11 ").AdvancedFilter_
Action:=xlFilterCopy, CopyToRange:=Range(" E1 "), Unique:= True
End Sub
Quando executamos esta macro, recebemos a seguinte saída:
A coluna E agora exibe uma lista de valores exclusivos da coluna Equipe no conjunto de dados original.
Observe que o método AdvancedFilter não diferencia maiúsculas de minúsculas.
Por exemplo, se tivéssemos os nomes de equipe “MAVS” e “Mavs” na mesma coluna, esta macro específica retornaria apenas o primeiro desses dois valores que aparecem na coluna Equipe , pois eles compartilham exatamente os mesmos caracteres.
Nota : Você pode encontrar a documentação completa do método AdvancedFilter em VBA aqui .
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 contar valores únicos no intervalo