Como remover células vazias e deslocar os dados para a esquerda no Excel?
Trabalhar com conjuntos de dados no Excel frequentemente resulta em células vazias indesejadas espalhadas pelos seus dados. Esses espaços em branco podem interromper cálculos, ordenações ou análises, especialmente quando precisa que as suas entradas estejam alinhadas sem lacunas. Remover manualmente cada célula vazia e deslocar o conteúdo restante para a esquerda pode ser extremamente demorado e propenso a erros, sobretudo com grandes volumes de informação. Este tutorial apresenta vários métodos rápidos e eficientes para eliminar células vazias num intervalo de dados e mover as células restantes para a esquerda, garantindo que a sua folha de cálculo permaneça organizada e pronta para processamento ou análise posteriores. As soluções seguintes adaptam-se a diferentes necessidades — quer prefira abordagens manuais, baseadas em fórmulas ou programáveis. Conhecer os pontos fortes e as limitações de cada método ajuda-o a escolher o mais adequado à sua realidade.
![]() | ![]() | ![]() |
Funcionalidade Ir Para – Eliminar células vazias e Mover para a Esquerda
Fórmula do Excel – Remover células vazias e deslocar os dados para a esquerda
Código VBA – Eliminar automaticamente células vazias e deslocar os dados para a esquerda
Funcionalidade Ir Para – Eliminar células vazias e Mover para a Esquerda
Quando pretende eliminar células vazias e deslocar os dados restantes para a esquerda, o Excel oferece um método incorporado — rápido e eficaz para intervalos relativamente pequenos e consistentes. Esta abordagem revela-se especialmente prática se preferir evitar fórmulas ou programação. Contudo, é mais indicada para limpezas pontuais e básicas do que para soluções automatizadas ou conjuntos de dados muito extensos. Eis como executar esta tarefa passo a passo:
1. Selecione o seu intervalo de dados que contém as células vazias que pretende remover. Pode tratar-se de uma única linha, várias linhas ou uma área completa. Em seguida, prima Ctrl + G para abrir a caixa de diálogo Ir Para. Nesta janela, clique em Especial para refinar ainda mais a seleção. Veja a captura de ecrã:
2. Na caixa de diálogo Ir Para Especial, selecione a opção Em branco e clique em OK. Este passo destaca todas as células vazias no intervalo selecionado. Veja a captura de ecrã:
3. Com todas as células vazias agora selecionadas, clique com o botão direito do rato em qualquer uma delas e escolha Eliminar no menu de contexto. Veja a captura de ecrã:
4. Na caixa de diálogo Eliminar, selecione a opção Deslocar células para a esquerda e clique em OK. Esta ação faz com que todos os dados se movam para a esquerda, preenchendo perfeitamente as lacunas anteriormente criadas pelas células vazias. Veja a captura de ecrã:
Após concluir estes passos, as células vazias serão removidas e os dados restantes serão deslocados para a esquerda, conforme ilustrado abaixo:
![]() | ![]() | ![]() |
Fórmula do Excel – Remover células vazias e deslocar os dados para a esquerda
Para situações em que pretende uma solução dinâmica baseada em fórmulas — como eliminar células vazias de linhas ou colunas e obter resultados atualizados automaticamente sempre que os Dados de Origem mudarem —, funções do Excel como FILTRAR (Excel 365 e Excel 2021) podem ser extremamente eficazes. Esta abordagem é especialmente útil para gerar um novo intervalo sem células vazias, permitindo-lhe manter os dados originais intactos enquanto obtém, noutra parte da folha de cálculo, uma versão sem lacunas deslocada para a esquerda.
Nota: As fórmulas disponíveis dependem da sua versão do Excel. A função FILTRAR está disponível apenas nas versões mais recentes (Excel 365, Excel 2021 ou posterior).
1. Suponha que os seus dados estão em A1:E10 (na horizontal). Para criar uma nova linha sem células vazias, selecione uma célula vazia onde pretende que o resultado apareça — por exemplo, F1 — e introduza a seguinte fórmula:
=FILTER(A1:E1, A1:E1 <> "") Esta fórmula recolhe apenas as células não vazias de A1:E1 e lista-as alinhadas à esquerda a partir de F1.
2. Prima Enter e os dados não vazios serão preenchidos automaticamente para a esquerda no novo intervalo. Depois, arraste ou copie a fórmula para baixo.
Cenário aplicável: Este método é ideal quando pretende manter os seus Dados de Origem inalterados e criar automaticamente um intervalo limpo noutro local. Contudo, tem uma limitação: não substitui os dados originais — em vez disso, fornece uma versão «virtualmente» deslocada dos mesmos.
Dica prática: Se pretender manter apenas os valores no novo intervalo, copie os resultados após aplicar a fórmula e utilize Colar Especial > Valores para substituir o intervalo original, se necessário. Certifique-se sempre de que as referências das células são ajustadas caso copie fórmulas para outras áreas.
Código VBA – Eliminar automaticamente células vazias e deslocar os dados para a esquerda
Se frequentemente precisar de eliminar células vazias e deslocar as entradas restantes para a esquerda — especialmente em conjuntos de dados grandes ou de dimensões irregulares — uma macro VBA pode automatizar esta tarefa repetitiva. Esta abordagem processa as células no local, removendo fisicamente as células vazias para que os dados fiquem «compactados» à esquerda em cada linha. As macros Economizar Tempo e ajudam a evitar erros manuais ao lidar com folhas de cálculo complexas.
1. Abra o Editor do VBA clicando em Ferramentas de Programador > Visual Basic. Na janela do Microsoft Visual Basic for Applications que surge, clique em Inserir > Módulo e cole o código abaixo na área do módulo:
Sub DeleteBlanksShiftLeft()
Dim WorkRng As Range
Dim RowRng As Range
Dim xTitleId As String
Dim i As Long, c As Long
Dim TempList As Collection
Dim Cell As Range
xTitleId = "KutoolsforExcel"
On Error Resume Next
Set WorkRng = Application.Selection
Set WorkRng = Application.InputBox("Select range to process (rows will be processed individually):", xTitleId, WorkRng.Address, Type:=8)
On Error GoTo 0
If WorkRng Is Nothing Then Exit Sub
Application.ScreenUpdating = False
' Process each row individually
For Each RowRng In WorkRng.Rows
Set TempList = New Collection
' Collect non-empty values in the row
For Each Cell In RowRng.Cells
If Trim(Cell.Value) <> "" Then
TempList.Add Cell.Value
End If
Next Cell
' Clear entire row first
RowRng.ClearContents
' Refill row with collected values from left to right
For i = 1 To TempList.Count
RowRng.Cells(1, i).Value = TempList(i)
Next i
Next RowRng
Application.ScreenUpdating = True
MsgBox "All blank cells in rows have been removed and values shifted left.", vbInformation
End Sub
2. Após inserir o código, clique no botão
ou prima F5 para executar a macro. Quando solicitado, selecione o intervalo pretendido. A macro processará cada linha, deslocando os valores para a esquerda de modo a preencher as células vazias e eliminando-as ao longo do processo.
Cenário aplicável: As macros são ideais para utilizadores à vontade com a ativação e utilização de VBA, especialmente quando é necessário remover rotineiramente células vazias em grandes intervalos ou em modelos reutilizáveis. Este método modifica efetivamente os dados originais, pelo que se recomenda fazer uma cópia de segurança da sua folha de cálculo antes de o utilizar. Tenha cuidado se a estrutura dos seus dados for irregular ou contiver fórmulas, pois a macro atua sobre os valores e pode perturbar dependências subjacentes.
Dica de resolução de problemas: Se obtiver resultados inesperados, poderá dever-se a células mescladas, fórmulas ou células protegidas. Desagrupe, desbloqueie ou remova as fórmulas conforme necessário antes de executar a macro.
Sugestão resumo: Sempre que possível, utilize fórmulas para transformações dinâmicas e não destrutivas dos dados, e recorra a macros para edições em lote no local. Guarde sempre uma cópia dos seus dados antes de executar automações e verifique os resultados para garantir que o layout da sua folha de cálculo permanece exatamente como pretendido.
Inserir Linhas em branco ou colunas em lote num intervalo específico no Excel |
| Se pretender inserir Linhas em branco em cada outra linha, poderá ter de o fazer uma a uma, mas o Inserir Linhas/Colunas em Brancode Kutools para Excelresolve esta tarefa em segundos.Clique para experimentar gratuitamente durante 30 dias! |
![]() |
| Kutools para Excel: mais de 300 complementos práticos ao seu dispor — experimente gratuitamente e sem limitações durante 30 dias! |
Artigos relacionados
- Como copiar e colar apenas células não vazias no Excel?
- Como contar ignorando zeros ou células vazias 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



