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