Como mover uma linha inteira para o fim da folha de cálculo atual com base no valor de uma célula no Excel?
No Excel, poderá frequentemente precisar de reorganizar os seus dados com base no estado ou valor de uma determinada coluna. Por exemplo, após acompanhar o progresso das tarefas, pode querer que todas as linhas com o estado «Done» sejam automaticamente movidas para o fim da folha de cálculo, mantendo as tarefas ativas ou em curso no topo. Mover automaticamente uma linha inteira com base no valor de uma célula torna a sua folha mais fácil de gerir, destaca prioridades e ajuda-o a concentrar-se de forma eficiente nos itens por concluir.
Existem várias formas de alcançar este objetivo no Excel, incluindo o uso de código VBA para automatização ou a aplicação de fórmulas combinadas com a funcionalidade integrada de ordenação do Excel. Cada abordagem tem os seus próprios pontos fortes e adapta-se a cenários distintos. Abaixo encontra soluções passo a passo para mover uma linha inteira para o fim da sua folha de cálculo ativa com base num valor específico de uma célula.
- Mover Linha inteira para o fim de Planilha Atual com base no valor da célula através de código VBA
- Mover Linha inteira para o fim utilizando fórmulas do Excel e ordenação
Mover Linha inteira para o fim de Planilha Atual com base no valor da célula através de código VBA
Suponha que tem uma tabela em que a coluna C contém um estado, como «Done», e pretende que qualquer linha com «Done» nessa coluna seja imediatamente movida para o fim do seu intervalo de dados. Esta solução VBA é especialmente útil se desejar um processo repetível e semi-automatizado, capaz de responder a alterações dinâmicas nos dados sem recorrer à ordenação manual.

1. Prima simultaneamente Alt + F11 para abrir a janela Microsoft Visual Basic for Applications.
2. Na janela Microsoft Visual Basic for Applications, clique em Inserir > Módulo. Em seguida, copie e cole o código VBA abaixo na janela.
Código VBA: Mover Linha inteira para o fim de Planilha Atual com base no valor da célula
Sub MoveToEnd()
Dim xRg As Range
Dim xTxt As String
Dim xCell As Range
Dim xEndRow As Long
Dim I As Long
On Error Resume Next
If ActiveWindow.RangeSelection.Count > 1 Then
xTxt = ActiveWindow.RangeSelection.AddressLocal
Else
xTxt = ActiveSheet.UsedRange.AddressLocal
End If
lOne:
Set xRg = Application.InputBox("Select range:", "Kutools for Excel", xTxt, , , , , 8)
If xRg Is Nothing Then Exit Sub
If xRg.Columns.Count > 1 Or xRg.Areas.Count > 1 Then
MsgBox " Multiple ranges or columns have been selected ", vbInformation, "Kutools for Excel"
GoTo lOne
End If
xEndRow = xRg.Rows.Count + xRg.Row
Application.ScreenUpdating = False
For I = xRg.Rows.Count To 1 Step -1
If xRg.Cells(I) = "Done" Then
xRg.Cells(I).EntireRow.Cut
Rows(xEndRow).Insert Shift:=xlDown
End If
Next
Application.ScreenUpdating = True
End Sub Nota: neste código VBA, o valor específico referenciado é «Done». Pode alterar este valor no código para corresponder ao termo que pretende utilizar como gatilho para mover a linha (por exemplo, pode substituí-lo por «Completed» ou qualquer outro estado adequado ao seu fluxo de trabalho). Certifique-se de que o valor corresponde exatamente — incluindo maiúsculas, minúsculas e espaços — ou, se necessário, ajuste o código para uma correspondência insensível a maiúsculas e minúsculas.
3. Prima a tecla F5 ou clique no botão Executar. Na caixa de diálogo Kutools para Excel que surge, selecione o intervalo da coluna onde o valor-alvo possa aparecer e, em seguida, clique no botão OK.

Após a confirmação, o código procurará automaticamente as linhas com o valor «Done» na coluna selecionada e moverá essas linhas para o fim do seu intervalo de dados. Esta reorganização ocorre instantaneamente, poupando-lhe o tempo gasto com ordenações manuais ou ao arrastar linhas.

Dicas:
- Se tiver cabeçalhos, certifique-se de não os incluir na sua seleção quando solicitado, para evitar mover a linha do cabeçalho.
- Este script VBA aplica-se apenas à folha de cálculo atualmente ativa. Caso precise de realizar esta operação em várias folhas, repita o processo em cada uma delas.
- Se os seus dados incluírem fórmulas ou células ligadas, mover linhas pode alterar as referências. Verifique atentamente a sua folha após executar a macro para garantir a integridade dos dados.
Este método VBA destaca-se em situações que exigem o processamento frequente de um elevado número de linhas, especialmente quando a ordenação manual se torna ineficiente. Contudo, se precisar de uma solução sem macros ou preferir trabalhar diretamente com fórmulas e ferramentas nativas do Excel, considere a abordagem seguinte.

Desbloqueie a Magia do Excel com KUTOOLS AI
- Execução Inteligente: Realize operações em células, analise dados e crie gráficos — tudo impulsionado por comandos simples.
- fórmulas personalizadas: Crie fórmulas personalizadas para simplificar os seus fluxos de trabalho.
- Programação VBA: Escreva e implemente código VBA com facilidade.
- Interpretação de Fórmulas: Compreenda facilmente fórmulas complexas.
- Tradução de Texto: Elimine barreiras linguísticas nas suas folhas de cálculo.
Mover Linha inteira para o fim utilizando fórmulas do Excel e ordenação
Para utilizadores que prefiram não utilizar macros ou que procurem uma abordagem mais transparente e baseada em fórmulas para gerir os seus dados, é possível alcançar o mesmo efeito recorrendo a colunas auxiliares e à funcionalidade integrada de ordenação do Excel. Este método revela-se particularmente eficaz em ambientes colaborativos ou em ficheiros destinados a ser partilhados com outros utilizadores que tenham as definições de segurança das macros ativadas.
1. Insira uma nova coluna auxiliar à direita ou à esquerda dos seus dados existentes. Por exemplo, se os cabeçalhos dos seus dados estiverem na linha 1, os valores começarem na linha 2 e o estado estiver na coluna C, insira uma nova coluna D e dê-lhe o nome «SortKey» ou algo semelhante.
2. Na primeira célula da coluna auxiliar (excluindo o cabeçalho, por exemplo, D2), introduza a seguinte fórmula:
=IF(C2="Done",1,0) Esta fórmula atribui 1 às linhas em que a coluna C está marcada como «Done» e 0 a todas as restantes.
3. Prima Enter para confirmar a fórmula e, em seguida, copie-a por todas as linhas dos seus dados. Basta arrastar a alça de preenchimento de D2 até à última linha dos seus dados ou clicar duas vezes na alça de preenchimento para preenchimento automático, caso a coluna adjacente esteja preenchida.
4. Selecione qualquer célula no seu intervalo de dados e, no Friso do Excel, aceda ao separador Dados e clique em Ordenar.
5. Na caixa de diálogo Ordenar, selecione a coluna auxiliar («SortKey») no menu pendente «Ordenar por» e escolha a ordem Do menor para o maior. Assim, todas as linhas com «Done» (marcadas com 1) permanecerão no fim, enquanto as restantes (marcadas com 0) ficarão no topo.
6. Clique em OK para aplicar a ordenação. Os seus dados serão agora reorganizados de modo que todas as entradas concluídas ou «Done» apareçam no fim da tabela.
Explicação dos parâmetros e dicas:
- Pode substituir «Done» na fórmula por qualquer outro indicador de estado relevante para a sua folha (por exemplo, «Completed» ou «Inactive»). Certifique-se de que a grafia corresponde exatamente aos seus dados.
- Se pretender mover linhas com vários valores (por exemplo, tanto «Done» como «Canceled»), utilize uma fórmula como:
=IF(OR(C2="Done",C2="Canceled"),1,0) - Para inverter o efeito (ou seja, colocar as linhas «Done» no topo), ordene por Do maior para o menor ou troque 0 e 1 na fórmula.
Esta abordagem não elimina nem oculta quaisquer linhas, preservando integralmente a estrutura dos seus dados. É perfeita para colaboração com outros utilizadores, assegura compatibilidade entre diferentes versões do Excel e evita problemas potenciais em ficheiros que contenham macros.
Artigos relacionados:
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