KutoolsforOffice — Uma solução, cinco ferramentas poderosas.Fazer mais com menos esforço.

Como limpar o conteúdo de uma célula com base numa condição no Excel?

AutorXiaoyang Data de Modificação

Por vezes, poderá precisar de Limpar conteúdo da célula com base em condições no Excel, como limpar o conteúdo das células se estas contiverem um valor específico, limpar o conteúdo das células se existirem células vazias noutra coluna ou Limpar conteúdo da célula com um Cor de Fundo específico, entre outros. Este artigo apresenta alguns truques para resolver estas tarefas de forma rápida e fácil.

Limpar conteúdo da célula Com base no valor da célula com código VBA

Limpar Linha inteira se o valor for superior ou inferior a um valor específico com código VBA

Limpar o conteúdo de células ou linhas com base no valor da célula com uma funcionalidade prática

Limpar Linha inteira se outra célula estiver vazia com código VBA

Limpar conteúdo da célula com base em Cor de Fundo com código VBA


Limpar conteúdo da célula Com base no valor da célula com código VBA

Por exemplo, tem o seguinte intervalo de dados e pretende limpar o conteúdo das células que contenham “Hoodie”. O código VBA abaixo pode ajudá-lo.

dados de exemplo

1. Mantenha premidas as teclas ALT + F11 para abrir a janela do Microsoft Visual Basic for Applications.

2. Clique em Inserir > Módulo e cole o seguinte código na janela do módulo.

Código VBA: Limpar conteúdo da célula se a célula for igual a um valor específico

Sub ClearContents()
'Updateby ExtendOffice
 Dim xRng As Range
 Dim xCell As Range
 Dim xText As String
 Set xRng = Application.Range("A2:A12")
 xText = "Hoodie" 'Change this text to your own
 For Each xCell In xRng
 If xCell.Value = xText Then
 xCell.clearContents
 End If
 Next xCell
End Sub
Nota: No código acima,A2:A12é o Intervalo de Dados a partir do qual pretende Limpar conteúdo da célula, e o texto “Hoodie” é o valor específico que pretende limpar. Por favor, substitua-os pelos seus próprios.

3. Em seguida, prima a tecla F5 para executar este código e todo o conteúdo das células com o texto “Hoodie” será imediatamente limpo. Veja a imagem:

código vba para limpar conteúdos de células com base no valor da célula

uma captura de ecrã do kutools for excel ai

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.
Potencie as capacidades do seu Excel com ferramentas alimentadas por IA.Descarregue Agorae experimente uma eficiência como nunca antes!

Limpar Linha inteira se o valor for superior ou inferior a um valor específico com código VBA

Imagine que tem o seguinte intervalo de dados e pretende limpar todo o conteúdo de uma linha sempre que o valor na coluna D for superior ou inferior a 300. Neste caso, criarei um código VBA para executar esta tarefa.

dados de exemplo

1Mantenha as teclas premidas.ALT + F11para abrir a janela do Microsoft Visual Basic for Applications.

2. Clique em Inserir>Móduloe cole o seguinte código na Janela do Módulo.

Código VBA: Limpar Linha inteira se o valor da célula for superior ou inferior a um valor específico

Sub ClearRowInValue()
'Updateby ExtendOffice
Dim xRg As Range
Dim xStrAddress As String
Dim xStrValue As Integer
Dim xCell As Range
Dim xRowRg As Range
Dim xF As Integer
Dim xBol As Boolean
xStrAddress = "D2:D12" 'Change cell range
xStrValue = 300 'change the value
Set xRg = Range(xStrAddress)
For xF = xRg.Rows.Count To 1 Step -1
    Set xRowRg = xRg.Rows.Item(xF)
    xBol = False
    For Each xCell In xRowRg.Cells
        If Application.IsNumber(xCell.Value) Then
        If xCell.Value > xStrValue Then
        xBol = True
        Exit For
        End If
        End If
    Next
    If xBol Then
        xRowRg.EntireRow.clearContents
    End If
Next
End Sub
Nota: No código acima,D2:D12é a Intervalo de Dados que contém o valor específico com base no qual pretende limpar as linhas;300é o valor específico; o carácter >presente no script If xCell.Value > xStrValue Thensignifica “superior a”. Para utilizar “inferior a”, altere-o para o carácter <conforme necessário.

3. Em seguida, prima a tecla F5 para executar este código e todo o conteúdo das linhas será limpo se o valor na coluna D for superior a 300. Veja a imagem:

código vba para limpar linhas inteiras se o valor for superior ou inferior a um valor específico


Limpar o conteúdo de células ou linhas com base no valor da célula com uma funcionalidade prática

Se tiver o Kutools para Excel instalado, com a funcionalidade Selecionar células específicas, poderá selecionar células ou linhas com base num valor específico e eliminar o conteúdo das células de uma só vez.

Kutools para Exceloferece mais de 300 funcionalidades avançadas para simplificar tarefas complexas, potenciando a criatividade e a eficiência.Integrado com capacidades de IA, o Kutools automatiza tarefas com precisão, tornando a gestão de dados descomplicada.Informações detalhadas de Kutools para Excel...         Teste gratuito...

Após instalar o Kutools para Excel, siga os passos seguintes:

1. Selecione o intervalo de dados com os valores com base nos quais pretende limpar o conteúdo das células ou linhas e, em seguida, clique em Kutools > Selecionar > Selecionar células específicas. Veja a imagem:

clique em Kutools > Selecionar > Selecionar Células Específicas

2. Na caixa de diálogo Selecionar células específicas aberta, realize as seguintes operações:

  • Clique em Célulaou Linha inteiraque pretende selecionar;
  • Especifique os critérios na secção Especificar tipo conforme necessário. Aqui, pretendo selecionar as linhas cujo valor na coluna D seja superior a 300.

especifique as opções na caixa de diálogo

3. Em seguida, clique no botão OK e todas as linhas com valor superior a 300 serão selecionadas. Depois, basta premir a tecla Delete no teclado para eliminar o conteúdo das células. Veja a imagem:

todas as linhas com valor superior ao valor específico estão selecionadas, depois elimine os conteúdos

Dicas: Existem muitos outros critérios que pode utilizar. Especifique a sua própria condição na caixa de diálogo, tal como mostrado na imagem seguinte:
muitos outros critérios na caixa de diálogo

Limpar linhas Dados dentro da Seleção se contiverem células vazias com código VBA

Neste caso, se alguma célula no Intervalo de Dados estiver vazia, pretendo limpar os dados de todas as linhas desse intervalo, tal como ilustrado na imagem seguinte.

Limpar dados de linhas num intervalo se contiverem células vazias

Para concluir esta tarefa, aplique o seguinte código VBA:

1. Mantenha premidas as teclas ALT + F11 para abrir a janela do Microsoft Visual Basic for Applications.

2. Clique em Inserir > Módulo e, em seguida, cole o seguinte código na Janela do Módulo.

Código VBA: Limpar dados das linhas se contiverem células vazias

Sub ClearContents()
'Updateby ExtendOffice
Dim xcell As Range
Set xrng = Application.Range("A2:D12")
For Each xcell In xrng
If xcell.Value = "" Then
Intersect(xcell.EntireRow, xrng).ClearContents
End If
Next
End Sub
Nota: No código acima,A2:D12é o Intervalo de Dados que contém as células vazias a partir do qual pretende Limpar conteúdo da célula.

3. Em seguida, prima a tecla F5 para executar este código e os dados das linhas com células vazias serão imediatamente removidos no intervalo especificado, conforme necessário.


Limpar conteúdo da célula com base em Cor de Fundo com código VBA

Para limpar as células preenchidas com uma cor de fundo específica, utilize o seguinte código VBA.

1. Mantenha as teclas premidas ALT + F11para abrir a janela do Microsoft Visual Basic for Applications.

2. Clique em Inserir > Módulo e, em seguida, cole o seguinte código na janela do Módulo.

Código VBA: Limpar conteúdo da célula com base em Cor de Fundo

Sub Clearcontents()
'Updateby ExtendOffice
Dim xcell As Range
Dim xrng As Range
Set xrng = Application.Range("A2:D12")
    For Each xcell In xrng
        If xcell.Interior.Color = RGB(252, 228, 214) Then
            xcell.Clearcontents
        End If
    Next
End Sub
Nota: No código acima,A2:D12é o Intervalo de Dados que pretende utilizar;RGB(252, 228, 214)é a cor específica com base na qual pretende limpar as células. Pode extrair o modo RGB da Cor de Fundo utilizando o programa Paintno seu computador.

3. Em seguida, prima a tecla F5 para executar este código e o conteúdo das células com a cor de fundo especificada será limpo imediatamente. Veja a imagem:

código vba para limpar conteúdos de células com base na cor de fundo


  • Super Barra de Fórmulas (edite facilmente várias linhas de texto e fórmulas); Disposição de Leitura (leia e edite com facilidade um grande número de células); Colar em Intervalo de Filtro...
  • Mesclar Células, Linhas ou Colunas e Manter os Dados; Dividir o Conteúdo das Células; Combinar Linhas Duplicadas e Calcular Soma/Média... Evitar Entradas Duplicadas nas Células; Comparar Intervalos...
  • Selecionar linhas duplicadas ou únicas;Selecionar linhas em branco (todas as células vazias);Super Localizar e Pesquisa Aproximada em vários livros; seleção aleatória...
  • Cópia Exata de múltiplas células sem alterar a referência da fórmula;Criar Referências Automaticamente para várias folhas;Inserir Marcadores, caixas de seleção e muito mais...
  • Fórmulas Favoritas e Inserção Rápida, intervalos, gráficos e imagens; Criptografar Células com palavra-passe; Criar Lista de Correspondência e envie e-mails...
  • Extrair Texto, adicionar texto, remover caracteres de uma posição, remover espaços; criar e imprimir estatísticas da página de dados; converter entre conteúdo das células e comentários...
  • Super Filtro (guarde e aplique esquemas de filtro noutras folhas); Classificação Avançada por mês, semana, dia, frequência e muito mais; Filtro Especial por negrito, itálico…
  • Combinar Livros e Folhas de Cálculo; mesclar tabelas com base numa coluna-chave; dividir dados em várias folhas; conversão automática de xls, xlsx e PDF...
  • Agrupamento por Tabela Dinâmica número da semana, dia da semana e muito mais...Mostrar desbloqueadas, bloquear seleção com cores diferentes;Destacar células que contêm fórmula/nome...
separador kte 201905
  • 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!
rodapé do OfficeTab