Vba: como classificar uma planilha por múltiplas colunas


Você pode usar a seguinte sintaxe básica para classificar uma planilha do Excel por várias colunas usando VBA:

 Sub SortMultipleColumns()
    Range(" A1:B11 ").Sort Key1:=Range(" A1 "), Order1:=xlAscending, _
                         Key2:=Range(" B1 "), Order2:=xlDescending, _
                         Header:=xlYes
End Sub

Este exemplo específico classifica as células no intervalo A1:B11 primeiro pelos valores da coluna A em ordem crescente e depois pelos valores da coluna B em ordem decrescente.

Observe que Header:=xlYes especifica que a primeira linha deve ser tratada como uma linha de cabeçalho.

O exemplo a seguir mostra como usar essa sintaxe na prática.

Exemplo: classificar uma planilha do Excel por várias colunas usando VBA

Digamos que temos o seguinte conjunto de dados no Excel que contém informações sobre vários jogadores de basquete:

Suponha que queiramos classificar o conjunto de dados da seguinte maneira:

  • Primeiro, classifique pelos valores da coluna Equipe em ordem crescente (A a Z).
  • A seguir, classifique pelos valores da coluna Pontos em ordem decrescente (do maior para o menor).

Podemos criar a seguinte macro para fazer isso:

 Sub SortMultipleColumns()
    Range(" A1:B11 ").Sort Key1:=Range(" A1 "), Order1:=xlAscending, _
                         Key2:=Range(" B1 "), Order2:=xlDescending, _
                         Header:=xlYes
End Sub

Quando executamos esta macro, recebemos a seguinte saída:

As linhas agora são classificadas por nome da equipe em ordem crescente e por pontos em ordem decrescente.

Nota nº 1 : neste exemplo, classificamos em duas colunas. No entanto, você pode especificar quantas chaves desejar para classificar ainda mais colunas.

Nota nº 2 : você pode encontrar a documentação completa do método de classificação VBA aqui .

Recursos adicionais

Os tutoriais a seguir explicam como realizar outras tarefas comuns em VBA:

VBA: Como escrever funções AVERAGEIF e AVERAGEIFS
VBA: Como escrever funções SUMIF e SUMIFS
VBA: Como escrever funções COUNTIF e COUNTIFS

Add a Comment

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