Como excluir linhas com base na cor de fundo no Excel?
Como você pode excluir linhas inteiras com base na cor de fundo? Neste exemplo, preciso excluir todas as linhas cujas células preencheram com a cor de fundo azul, conforme mostrado a seguir. Com este artigo, você obterá alguns códigos para realizar essa tarefa no Excel.
Excluir linhas com cor de fundo específica com base em cada célula
Excluir linhas com cor de fundo específica com base em uma coluna
Excluir linhas com cor de fundo específica com base em cada célula
Se você tiver um intervalo de dados preenchido com algumas cores de células aleatoriamente e precisar excluir as linhas cuja cor da célula é azul, conforme mostrado a seguir:
Para excluir esse tipo de linha, você pode usar o seguinte código VBA, faça o seguinte:
1. Segure o ALT + F11 chaves para abrir o Microsoft Visual Basic para Aplicações janela.
2. Clique inserção > Móduloe cole o seguinte código no Módulo Janela.
Código VBA: exclua as linhas cujas células contêm cor de preenchimento específica:
Sub DeleteRows()
'Updateby Extendoffice
Dim rngCl As Range
Dim xRows As Long
Dim xCol As Long
Dim colorLg As Long
On Error Resume Next
Set rngCl = Application.InputBox _
(Prompt:="Select a cell with the background color to be deleted", _
Title:="Kutools for Excel", Type:=8)
On Error GoTo 0
If rngCl Is Nothing Then
MsgBox "User cancelled operation." & vbCrLf & _
"Processing terminated", vbInformation, "Kutools for Excel"
Exit Sub
End If
colorLg = rngCl.Interior.Color
Application.ScreenUpdating = False
With ActiveSheet.UsedRange
For xRows = .Rows.Count To 1 Step -1
For xCol = 1 To .Columns.Count
If .Cells(xRows, xCol).Interior.Color = colorLg Then
.Rows(xRows).Delete
Exit For
End If
Next xCol
Next xRows
End With
Application.ScreenUpdating = True
End Sub
3. E, em seguida, pressione F5 para executar este código, e uma caixa de prompt aparecerá para lembrá-lo de selecionar uma célula com a cor de preenchimento que deseja excluir, consulte a captura de tela:
4. Então clique OK, e todas as linhas foram excluídas se a célula com uma cor de preenchimento específica.
Excluir linhas com cor de fundo específica com base em uma coluna
Se você deseja excluir as linhas com cor específica com base em apenas uma coluna, por exemplo, exclua as linhas com cor azul na coluna A e obtenha a imagem abaixo, aqui também está um código VBA que pode lhe fazer um favor.
1. Segure o ALT + F11 chaves para abrir o Microsoft Visual Basic para Aplicações janela.
2. Clique inserção > Móduloe cole o seguinte código no Módulo Janela.
Código VBA: exclua linhas com base em uma coluna cujas células têm cor de preenchimento específica:
Sub deleterow()
'UpdateBY Extendoffice
Dim xRg As Range, rgDel As Range
For Each xRg In ThisWorkbook.ActiveSheet.Range("A2:A21")
If xRg.Interior.ColorIndex = 20 Then
If rgDel Is Nothing Then
Set rgDel = xRg
Else
Set rgDel = Union(rgDel, xRg)
End If
End If
Next xRg
If Not rgDel Is Nothing Then rgDel.EntireRow.Delete
End Sub
Note: No código acima, A2: A21 é a coluna que contém a cor de preenchimento específica na qual você deseja deletar as linhas com base, o número 20 in Índice de cores = 20 script é o índice de cor no qual você deseja excluir linhas. Você pode alterá-los conforme sua necessidade.
3. Então aperte F5 para executar este código, e todas as linhas cujas células contêm a cor azul na coluna A foram excluídas de uma vez.
Melhores ferramentas de produtividade de escritório
Aprimore suas habilidades de Excel com o Kutools para Excel e experimente uma eficiência como nunca antes. Kutools para Excel oferece mais de 300 recursos avançados para aumentar a produtividade e economizar tempo. Clique aqui para obter o recurso que você mais precisa...
Office Tab traz interface com guias para o Office e torna seu trabalho muito mais fácil
- Habilite a edição e leitura com guias em Word, Excel, PowerPoint, Publisher, Access, Visio e Project.
- Abra e crie vários documentos em novas guias da mesma janela, em vez de em novas janelas.
- Aumenta sua produtividade em 50% e reduz centenas de cliques do mouse para você todos os dias!