Classificação automática no Excel

Planilha Excel de exemplo que demonstra como realizar o filtro automático ao dar um duplo clique em uma coluna utilizando VBA Excel.

MR
Marcos Rieper

Especialista em Excel

01 de agosto de 2012 Atualizado 08 de julho de 2026 3 min de leitura
Classificação automática no Excel

Classificação automática no Excel

Objetivo: Demonstrar como realizar o filtro automático ao dar um duplo clique em uma coluna utilizando VBA Excel.

Introdução

Muitas vezes utilizamos uma planilha diariamente e temos que classificar os dados várias vezes, o que significa que você terá que realizar esta classificação pelo caminho natural do Excel de selecionar a planilha, clicar na guia Dados->Classificar e escolher a coluna.

Neste artigo foi criado um exemplo de como aliar o Excel e o VBA para realizar esta classificação automaticamente ao dar um duplo clique sobre a coluna que se deseja classificar.

Como foi feito

Foi inicialmente criada uma lista de dados Excel com os títulos descritos sobre cada uma das colunas.

Esta será a nossa lista de exemplo.

Após isso é necessário algum conhecimento de VBA para realizar a tarefa, mas o exemplo pode ser replicado para outras planilhas.

Foi criado então um evento de escuta da planilha intitulada "Lista", que ficará aguardando o duplo clique do mouse e se o mesmo for realizado na primeira linha e se esta estiver preenchida com alguma palavra então o VBA irá desativar os eventos e chamar  oprocedimento VBA que realiza a classificação automática de dados.

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
    If Target.Row = 1 And Target.Value  "" Then
        Application.EnableEvents = False
        lsClassificarAutomatico Target
        Application.EnableEvents = True
    End If
    Cancel = True
End Sub

Realizando a classificação automática com Excel e VBA

Para realizar a classificação automática foi criado o seguinte código VBA Excel que está com seu código devidamente comentado:

Sub lsClassificarAutomatico(ByVal vTarget As Range)

    Dim lUltimaLinahAtiva   As Long
    Dim lColuna             As String
    Dim lUltimaColuna       As String
    
    'Desabilita a atualização visual da tela
    Application.ScreenUpdating = False
       
    'Identifica a última coluna ativa
    lUltimaColuna = Left(Replace(Cells(1, Cells.Columns.Count).End(xlToLeft).Address, "$", ""), Len(Replace(Cells(1, Cells.Columns.Count).End(xlToLeft).Address, "$", "")) - 1)
    
    'Identifica a última linha ativa
    lUltimaLinhaAtiva = Worksheets(vTarget.Worksheet.Name).Cells(Worksheets(vTarget.Worksheet.Name).Rows.Count, vTarget.Column).End(xlUp).Row
    
    'Identifica a coluna clicada
    lColuna = Left(Replace(vTarget.Address, "$", ""), Len(Replace(vTarget.Address, "$", "")) - 1)
    
    'Seleciona a lista de dados
    Columns("A:" & lUltimaColuna).Select
    
    'Limpa os campos classificados
    ActiveWorkbook.Worksheets(vTarget.Worksheet.Name).Sort.SortFields.Clear
    
    'Realiza a nova classificação pela coluna selecionada
    ActiveWorkbook.Worksheets(vTarget.Worksheet.Name).Sort.SortFields.Add Key:=Range(lColuna & "2:" & lColuna & lUltimaLinhaAtiva) _
        , SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
    With ActiveWorkbook.Worksheets(vTarget.Worksheet.Name).Sort
        .SetRange Range("A:" & lUltimaColuna)
        .Header = xlYes
        .MatchCase = False
        .Orientation = xlTopToBottom
        .SortMethod = xlPinYin
        .Apply
    End With
    vTarget.Select
    
    'Habilita a atualização visual da tela
    Application.ScreenUpdating = True
End Sub

Funcionamento

Ao dar o duplo clique na coluna que deseja classificar, o código VBA Excel que está aguardando que seja realizado o duplo clique na primeira coluna irá identificar esta ação e realizar a chamada ao procedimento lsClassificarAutomatico que por sua vez irá limpar a classificação atual e aplicar a nova classificação pela coluna selecionada.

Você pode achar interessante também este outro artigo aonde os campos são tratados com auto filtros automáticos ao digitar:

http://guiadoexcel.com.br/planilha-com-filtro-automatico

Abraço

Marcos Rieper

Principais recursos

Confira o que este material oferece para você.

Organização por data e etapas
Classificação automática
Ranking e destaques
Fluxos e etapas automáticas
Dashboard com indicadores
Atualização automática por fórmulas

Perguntas frequentes

O material é realmente gratuito?

Sim. O acesso é gratuito e não exige cadastro.

Preciso ter o Excel instalado?

Recomendamos o Excel 2013 ou superior para todos os recursos.

Como faço para receber atualizações?

As atualizações são automáticas dentro da própria planilha.

Funciona no Excel do Mac?

Sim, funciona no Excel para Windows e para Mac.

Funciona no celular?

É possível visualizar no app do Excel; a edição completa é no computador.

Planilhas relacionadas

Planilha de Fluxo de Caixa

Planilha de Fluxo de Caixa

(1.327)

R$ 89,90

Controle de Estoque

Controle de Estoque

(962)

R$ 69,90

Planilha Financeira Empresarial

Planilha Financeira Empresarial

(1.254)

R$ 79,90

Dashboard Financeiro no Excel

Dashboard Financeiro no Excel

(689)

R$ 49,90

Continue lendo

Curso Excel Master — Básico ao Avançado, VBA, PowerPoint e mais

Receba conteúdos e novidades direto no seu e-mail

Dicas, tutoriais, planilhas gratuitas e muito mais.

Não enviamos spam. Cancele quando quiser.

Download imediato

Acesso na hora após a compra

Compra 100% segura

Seus dados protegidos com SSL

Acesso vitalício

Use para sempre, sem mensalidades

Suporte via WhatsApp

Atendimento rápido e humanizado