Como ordenar automaticamente uma coluna por valor no Excel?
Ao trabalhar com listas ou tabelas no Excel, é comum querer que os seus dados apareçam sempre ordenados — especialmente à medida que são adicionadas novas informações. Imagine, por exemplo, que gere uma tabela de compras, como a ilustrada na imagem seguinte, onde os preços dos artigos são atualizados regularmente ou são introduzidas novas entradas. Nestas situações, poderá reparar que o Excel não reordena automaticamente a coluna Preço ao introduzir novos valores: os dados permanecem na posição original até que os volte a ordenar manualmente. Isto pode facilmente levar a confusões ou erros, sobretudo quando precisa de analisar ou apresentar rapidamente informações que devem estar sempre ordenadas. Saber como ordenar automaticamente uma coluna de acordo com os seus valores logo após qualquer alteração ou adição pode, portanto, poupar-lhe tempo valioso e garantir a precisão do seu fluxo de trabalho.
Este guia apresenta métodos práticos para ordenar automaticamente uma coluna específica por valor sempre que atualizar a sua folha de cálculo. Abaixo, encontrará tanto uma solução com macro VBA como uma solução com fórmula dinâmica, adequada às versões mais recentes do Excel. Cada método adapta-se a cenários distintos, incluindo instruções detalhadas de configuração, dicas de aplicação, explicações dos parâmetros e orientações para resolução de problemas — tudo para garantir que implemente a abordagem mais adequada de forma eficaz.
Ordenar automaticamente uma coluna por valor com VBA
Ordenar automaticamente uma coluna por valor com fórmula do Excel (Matrizes Dinâmicas)

Ordenar automaticamente uma coluna por valor com VBA
Esta macro VBA ordena automaticamente todos os dados numa coluna especificada sempre que introduzir um novo valor ou modificar dados existentes nessa coluna na sua folha de cálculo. Esta abordagem é ideal se estiver a utilizar uma versão mais antiga do Excel ou se pretender manter os dados dentro de uma tabela perpetuamente ordenados no local, sem recorrer a colunas adicionais.
Cenários típicos em que este método é útil:
- Quando pretende que os dados na sua tabela ou coluna reflitam imediatamente uma ordem atualizada após qualquer alteração, sem precisar de ordenar manualmente.
- Se gere folhas de cálculo colaborativas em que vários utilizadores atualizam frequentemente o mesmo intervalo de dados e precisam que a vista permaneça consistentemente ordenada.
Informações importantes antes de começar:
- As soluções VBA fazem alterações diretas na sua folha de cálculo. Recomendamos que guarde o ficheiro antes de iniciar.
- A macro só funcionará se as macros estiverem ativadas no seu ambiente do Excel.
- As macros ficarão associadas à folha de cálculo específica e poderão necessitar de ajustes caso o layout da sua tabela seja alterado.
1. Clique com o botão direito do rato no nome da folha atual no separador da barra de guias e, em seguida, selecione «Ver Código» no menu de contexto.
2. Na janela «Microsoft Visual Basic para Aplicações» que se abre, cole o seguinte código de macro VBA na janela de código da folha de cálculo de destino.
VBA: Ordenar automaticamente uma coluna no Excel
Private Sub Worksheet_Change(ByVal Target As Range)
On Error Resume Next
If Not Intersect(Target, Range("B:B")) Is Nothing Then
Range("B1").Sort Key1:=Range("B2"), _
Order1:=xlAscending, Header:=xlYes, _
OrderCustom:=1, MatchCase:=False, _
Orientation:=xlTopToBottom
End If
End Sub Notas:
1) No código VBA acima, «B:B» refere-se à coluna B, "B1" é a célula na primeira linha da coluna B e "B2" é a célula imediatamente abaixo do cabeçalho. Pode ajustar estas referências para corresponder à coluna que pretende ordenar automaticamente nos seus dados.
2) O parâmetro Header:=xlYes na quinta linha indica que o seu intervalo de dados inclui uma linha de cabeçalho, garantindo que este não seja ordenado juntamente com os valores da coluna. Se o seu intervalo de dados não tiver cabeçalho, altere-o para Header:=xlNo e ajuste também Key1:=Range("B2") para Key1:=Range("B1").
3) A macro é acionada sempre que um valor de célula for alterado na coluna especificada.
3. Regresse à sua folha de cálculo. Agora, sempre que adicionar um novo número na coluna Preço ou atualizar um valor existente, a coluna será imediatamente reordenada por ordem ascendente.
Dica: Introduza sempre os novos valores imediatamente após a última célula utilizada na coluna. Se houver células vazias entre os seus dados, a ordenação não funcionará como esperado.
Ordenar automaticamente uma coluna por valor com fórmula do Excel (Matrizes Dinâmicas)
Para utilizadores do Excel 365 ou Excel 2021 e versões posteriores, as funções de matriz dinâmica como SORT e SORTBY oferecem uma forma eficiente e sem código de gerar uma lista ordenada — mantendo-a automaticamente atualizada sempre que os seus dados mudarem. Esta solução não requer VBA, é suportada nativamente nas versões recentes do Excel e é ideal para cenários em que pretende manter os seus dados originais inalterados, trabalhando antes com uma cópia ordenada dos mesmos num intervalo ou folha de cálculo separada.
Quando devo utilizar esta abordagem?
- Se precisar de uma versão ordenada em tempo real dos seus dados numa localização diferente — por exemplo, para relatórios, painéis ou impressão —, mantendo simultaneamente os dados originais não processados.
- Quando estiver a utilizar o Excel 365, o Excel 2021 ou versões posteriores que suportem matrizes dinâmicas.
- Este método apresenta os dados ordenados numa nova área e não reordena os seus dados originais. Se precisar de reordenar os dados no local, considere a solução VBA acima.
- As matrizes dinâmicas não estão disponíveis no Excel 2019 nem em versões anteriores.
1. Decida onde pretende exibir a lista ordenada. Por exemplo, se a sua tabela original estiver em A1:C10 (com cabeçalhos na linha 1) e quiser apresentar a lista ordenada a partir da célula E1, selecione E1.
2. Introduza a seguinte fórmula na célula E1:
=SORT(A2:C10,2,1) Na fórmula acima:
- A2:C10 é o seu intervalo de dados original (excluindo os cabeçalhos). Ajuste esta referência para corresponder ao seu intervalo de dados.
- 2 significa que está a ordenar pela segunda coluna — por exemplo, se o seu Preço estiver na segunda coluna do intervalo selecionado.
- 1 especifica ordem ascendente. Utilize -1 se pretender ordem descendente.
3. Prima Enter. A fórmula gera uma cópia dinâmica e ordenada dos seus dados. Se adicionar, remover ou editar itens no intervalo original (por exemplo, novos preços ou produtos), a lista ordenada atualiza-se imediatamente — sem qualquer intervenção manual.
Notas:
- Se forem introduzidos mais dados abaixo da área original, a referência na fórmula (por exemplo,)
A2:C10) deve ser expandida em conformidade. - Para intervalos em constante alteração, utilize tabelas do Excel (Inserir > Tabela) e referencie o nome da tabela na sua fórmula SORT para garantir atualizações automáticas do intervalo.
- Se utilizar apenas uma coluna (por exemplo, B2:B10), a fórmula simplifica-se para
=SORT(B2:B10,1,1).
Demonstração: Ordenar automaticamente uma coluna por valor com VBA no Excel
Ordene facilmente por frequência de ocorrências no Excel
A funcionalidade «Classificação Avançada» do Kutools para Excel permite-lhe ordenar dados facilmente com base em múltiplos critérios, como comprimento do texto, sobrenome, valor absoluto, frequência e muito mais.

Kutools para Excel– Potencie o Excel com mais de 300 ferramentas essenciais, tornando o seu trabalho mais rápido e fácil, e aproveite as funcionalidades de IA para um processamento de dados mais inteligente e uma maior produtividade.Obtenha Já
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