Como classificar o número de colunas numéricas de uma só vez

Como classificar o número de colunas numéricas de uma só vez

entrada-saída

Eu tenho 350 colunas. Abaixo está um subconjunto de todos os dados.

Dados de amostra numa folha de cálculo Excel divididos em linhas por ano e mês e agrupados por distrito.

Usei a ferramenta "Classificar do menor para o maior". Fornece resultados apenas para uma coluna. Caso contrário, ele poderá classificar a primeira coluna e as outras colunas serão alteradas de acordo com a primeira. Mas quero classificar todas as colunas de AZ separadamente.

Quero classificar os dados por distrito.

Responder1

1.Selecione a coluna que deseja classificar. Em seguida, clique em “Classificar do menor para o maior”.

Dados > Classificar e Filtrar > Classificar do menor para o maior

2.Escolha "Continuar com a seleção atual".

Continuar com a seleção atual

Você pode ver que apenas uma coluna foi classificada.
Classificou apenas uma coluna

Repita isso para as 349 colunas restantes :)


Para fazer tudo junto de uma só vez:

  1. Abra a planilha que deseja classificar.

  2. Abra o editor VBA usando Alt+F11

  3. Inserir > Módulo

  4. Cole este código:

Subsort_columns_separately_AZ()
  Dim rngStart como intervalo
  Dim rngHeaders como intervalo
  Dim c como intervalo
  Definir rngStart = ActiveSheet.Range("A2")
  Definir rngHeaders = ActiveSheet.Range(rngStart, rngStart.End(xlToRight))

  Para cada c em rngHeaders
    ActiveSheet.Sort.SortFields.Clear
    Chave ActiveSheet.Sort.SortFields.Add:=c, _
      SortOn:=xlSortOnValues, Ordem:=xlAscendente, DataOption:=xlSortNormal
    Com ActiveSheet.Sort
      .SetRange ActiveSheet.Range(c, c.End(xlDown))
      .Header = xlSim
      .MatchCase = Falso
      .Orientação = xlTopToBottom
      .SortMethod = xlPinYin
      .Aplicar
    Terminar com
  Próximo
Finalizar sub
  1. No código, altere ActiveSheet.Range("A2")o endereço da célula onde começa sua tabela de dados, por exemplo ActiveSheet.Range("B5").
  2. BaterF5

Resultados:
antes de classificar e depois

Nota: se você tiver células vazias em seus dados, este código precisará de ajustes para funcionar corretamente nas colunas que possuem células vazias.

informação relacionada