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

Add a Comment

O seu endereço de email não será publicado. Campos obrigatórios marcados com *