Como ordenar os dados de uma coluna ao clicar no cabeçalho no Excel?
Suponhamos que tenho um intervalo de dados e quero ordená-lo por ordem crescente ou decrescente ao clicar em qualquer cabeçalho de coluna, obtendo o resultado apresentado na seguinte captura de ecrã. Como posso resolver esta tarefa no Excel?

Ordenar dados ao clicar no cabeçalho da coluna com código VBA
Ordenar dados ao clicar no cabeçalho da coluna com código VBA
Normalmente, no Excel, pode utilizar a funcionalidade Ordenar para organizar os seus dados de forma rápida e fácil — mas, se pretender ordenar dados com um simples clique numa célula, o seguinte código VBA poderá ser exatamente o que precisa.
1. Clique com o botão direito do rato no separador da folha onde pretende ordenar os dados, clique numa célula e escolha Ver Código no menu de contexto. Na janela do Microsoft Visual Basic para Aplicações que se abrirá, copie e cole o seguinte código no módulo em branco:
Código VBA: Ordenar dados ao clicar numa célula ou num cabeçalho de coluna:
Public blnToggle As Boolean
Private Sub Worksheet_BeforeDoubleClick _
(ByVal Target As Range, Cancel As Boolean)
'Updateby Extendoffice
Dim LastColumn As Long, keyColumn As Long, LastRow As Long
Dim SortRange As Range
LastColumn = _
Cells.Find(What:="*", After:=Range("A1"), _
SearchOrder:=xlByColumns, SearchDirection:=xlPrevious).Column
keyColumn = Target.Column
If keyColumn > LastColumn Then Exit Sub
Application.ScreenUpdating = False
Cancel = True
LastRow = Cells(Rows.Count, keyColumn).End(xlUp).Row
Set SortRange = Target.CurrentRegion
blnToggle = Not blnToggle
If blnToggle = True Then
SortRange.Sort _
Key1:=Cells(2, keyColumn), Order1:=xlAscending, Header:=xlYes
Else
SortRange.Sort _
Key1:=Cells(2, keyColumn), Order1:=xlDescending, Header:=xlYes
End If
Set SortRange = Nothing
Application.ScreenUpdating = True
End Sub

2. Em seguida, guarde e feche a janela do código. Agora, ao clicar duas vezes em qualquer célula ou cabeçalho de coluna dentro do intervalo de dados, a coluna será ordenada por ordem crescente; se clicar novamente duas vezes, será imediatamente ordenada por ordem decrescente.
Mais artigos relacionados:
Como alterar o valor de uma célula ao clicar nela?
Como filtrar dados ao clicar diretamente no conteúdo de uma célula no Excel?
As Melhores Ferramentas de Produtividade para o Office
Potencie as suas competências no Excel com Kutools para Excel e experimente uma eficiência como nunca antes.Kutools para Excel Oferece mais de 300 funcionalidades avançadas para impulsionar a produtividade e Economizar Tempo.Clique aqui para obter a funcionalidade de que mais precisa...
Office Tab Traz uma interface com separadores para o Office e torna o seu trabalho muito mais fácil
- Ative a edição e leitura com separadores no Word, Excel, PowerPoint, Publisher, Access, Visio e Project.
- Abra e crie vários documentos em novos separadores da mesma janela, em vez de em janelas separadas.
- Aumente a sua produtividade em 50 % e elimine centenas de cliques do rato todos os dias!
Todos os suplementos Kutools — num único instalador.
Kutools for Office reúne suplementos para Excel, Word, Outlook e PowerPoint, além do Office Tab Pro, sendo a solução ideal para equipas que trabalham em várias aplicações do Office.
- Pacote tudo-em-um— suplementos para Excel, Word, Outlook e PowerPoint + Office Tab Pro
- Um instalador, uma licença— configuração em minutos (pronto para MSI)
- Funciona melhor em conjunto— produtividade simplificada em todas as aplicações do Office
- Teste gratuito de 30 dias com todas as funcionalidades— sem registo, sem cartão de crédito
- Melhor relação qualidade-preço— poupe face à compra individual dos suplementos