Como classificar o intervalo no vba?

Para classificar um intervalo de células usando VBA, você precisa usar o método “SORT”, que permite definir uma única chave (coluna) ou várias chaves (para várias colunas) para classificar. Você também pode definir a ordem (crescente ou decrescente) que deseja classificar e especificar se possui um cabeçalho ou não.

Classifique um intervalo com VBA

  1. Use o objeto range para especificar o intervalo que você deseja classificar.
  2. Digite um período e insira o método de classificação.
  3. Especifique a chave que deseja usar para classificar.
  4. Defina a ordem de classificação.
  5. Mencione se você tem um cabeçalho ou não.
classificar um intervalo por vba
 Range("A1:A11").Sort Key1:=Range("A1"), _ Order1:=xlAscending, _ Header:=xlYes

No código acima você usou o intervalo A1:A11, e no método de classificação você usou ordem crescente, mencionou que tem um cabeçalho no intervalo.

Compreendendo o método de classificação do VBA

Antes de escrever uma macro para classificar um intervalo, é melhor se aprofundar no método de classificação e entender seus argumentos.

 Sort (Key1, Order1, Key2, Type, Order2, Key3, Order3, _ Header, OrderCustom, MatchCase, Orientation, SortMethod, _ DataOption1, DataOption2, DataOption3)

Aqui estão os argumentos mais importantes que você usará na vida real.

  • Chave : Aqui você precisa definir uma célula cuja coluna deseja usar como base de classificação.
  • Ordem : Ordem em que deseja ordenar a coluna (crescente/decrescente).
  • Cabeçalho : uma constante para especificar se você tem ou não um cabeçalho ou deseja que o VBA adivinhe.

Classificar em ordem decrescente

No código a seguir, usei ‘xlDescendente’ para classificar a coluna de valor em ordem decrescente.

Classificar em ordem decrescente
 Range("A1:A13").Sort Key1:=Range("A1"), _ Order1:=xlDescending, _ Orientation:=xlSortColumns

Usando múltiplas colunas (chaves) para classificar

Você também pode usar várias colunas para classificar um intervalo. Vejamos um exemplo da tabela abaixo, onde você tem várias entradas com nomes de funcionários e cidades e precisa classificar usando nome e cidade.

Use várias colunas para classificar

Aqui está o código que você precisa usar:

códigos para múltiplas colunas
 Range("A1:C13").Sort Key1:=Range("A1"), _ Order1:=xlAscending, _ Key2:=Range("B1"), _ Order1:=xlAscending, _ Header:=xlYes

Como você pode ver no código você tem key1 e key2. Na chave1 você tem a coluna com o nome do funcionário, e na chave2 você tem a coluna da cidade. Para ambas as colunas, a ordem de classificação é crescente e os cabeçalhos estão lá.

Nota: Você pode usar isso como qualquer coluna que deseja usar como base para classificação usando chaves e ordem.

Mudando a orientação do destino

Quando você normalmente classifica dados no Excel, por padrão você pode classificar usando colunas. Mas nas opções de classificação, você pode alterar a orientação da classificação da esquerda para a direita, em vez de de cima para baixo.

orientação do destino

Da mesma forma, você tem um argumento no método sort para alterar a orientação ( link ).

método para classificar a orientação
 Range("A1:C13").Sort Key1:=Range("A1"), _ Order1:=xlAscending, _ Orientation:=xlSortRows

Adicione um comentário

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