none
Classificação Automática no Excel, via VBA RRS feed

  • Pergunta

  • Boa tarde!

    Eu estou tentando fazer uma classificação automática no Excel, via VBA. A medida que eu for inserido dados na coluna F da planilha, as linhas da planilha são classificadas em ordem crescente.

    A minha planilha tem quatro colunas, que inicia na coluna C e encerra na coluna I. No entanto, a regra de classifica crescente tem como base a coluna F.

    Alguém poderia me dar um auxílio?

    Obrigado!

    sábado, 25 de novembro de 2017 20:17

Todas as Respostas

  • Option Explicit
    
    Sub Macro1()
    
    Dim linha As Long
    
    linha = 1
    
    While ThisWorkbook.Sheets("Planilha1").Range("F" & linha).Value <> ""
        linha = linha + 1
        Wend
       LINHA = LINHA-1 
        Range("C1:I" & linha).Select
        ActiveWorkbook.Worksheets("Planilha1").Sort.SortFields.Clear
        ActiveWorkbook.Worksheets("Planilha1").Sort.SortFields.Add Key:=Range("F1:F" & linha _
            ), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
        With ActiveWorkbook.Worksheets("Planilha1").Sort
            .SetRange Range("C1:I" & linha)
            .Header = xlGuess
            .MatchCase = False
            .Orientation = xlTopToBottom
            .SortMethod = xlPinYin
            .Apply
        End With
    
        
    End Sub


    A MELHOR FORMA DE AGRADECER E VOTAR COMO UTIL OU MARCAR COMO RESPOSTA Anderson Diniz diniabr2011@gmail.com


    sábado, 25 de novembro de 2017 21:14
  • Option Explicit
    
    Sub Macro1()
    
    Dim linha As Long
    
    linha = 2
    
    While ThisWorkbook.Sheets("Planilha1").Range("F" & linha).Value <> ""
        linha = linha + 1
        Wend
        LINHA = LINHA-1
        Range("C2:I" & linha).Select
        ActiveWorkbook.Worksheets("Planilha1").Sort.SortFields.Clear
        ActiveWorkbook.Worksheets("Planilha1").Sort.SortFields.Add Key:=Range("F2:F" & linha _
            ), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
        With ActiveWorkbook.Worksheets("Planilha1").Sort
            .SetRange Range("C2:I" & linha)
            .Header = xlGuess
            .MatchCase = False
            .Orientation = xlTopToBottom
            .SortMethod = xlPinYin
            .Apply
        End With
    
        
    End Sub


    A MELHOR FORMA DE AGRADECER E VOTAR COMO UTIL OU MARCAR COMO RESPOSTA Anderson Diniz diniabr2011@gmail.com



    sábado, 25 de novembro de 2017 21:16
  • https://www.youtube.com/results?search_query=vba+classificar+automaticamente

    A MELHOR FORMA DE AGRADECER E VOTAR COMO UTIL OU MARCAR COMO RESPOSTA Anderson Diniz diniabr2011@gmail.com

    • Sugerido como Resposta AndersonFDiniz2 sábado, 25 de novembro de 2017 21:18
    sábado, 25 de novembro de 2017 21:16