Tip: Other languages are Google-Translated. You can visit the English version of this link.
Log in
x
or
x
x
Register
x

or

How to delete rows based on background color in Excel?

How could you delete entire rows based on background color? In this example, I need to delete all rows which cells filled with blue background color as following screenshot shown. With this article, you will get some codes to achieve this task in Excel.

doc delete rows by color 1

Delete rows with specific background color based on each cell

Delete rows with specific background color based on one column


arrow blue right bubble Delete rows with specific background color based on each cell

If you have a range of data which filled with some cell colors randomly, and you need to delete the rows which the cell color is blue as following screenshot shown:

doc delete rows by color 2

To delete this type of rows, you can use the following VBA code, please do as this:

1. Hold down the ALT + F11 keys to open the Microsoft Visual Basic for Applications window.

2. Click Insert > Module, and paste the following code in the Module Window.

VBA code: Delete rows which cells contain specific fill color:

Sub DeleteRows()
'Updateby Extendoffice 20161116
    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. And then press F5 key to run this code, and a prompt box will pop out to remind you selecting a cell with the fill color that you want to delete, see screenshot:

doc delete rows by color 3

4. Then click OK, and all the rows have been deleted if the cell with a specific fill color.


arrow blue right bubble Delete rows with specific background color based on one column

If you want to delete the rows with specific color based on only one column, for instance, delete the rows with blue color in column A and get the below screenshot, here is also a VBA code can do you a favor.

doc delete rows by color 4

1. Hold down the ALT + F11 keys to open the Microsoft Visual Basic for Applications window.

2. Click Insert > Module, and paste the following code in the Module Window.

VBA code: Delete rows based on a column which cells have specific fill color:

Sub deleterow()
'UpdateBY Extendoffice 20161116
   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: In the above code, A2:A21 is the column which contain the specific fill color that you want to delete the rows based on, the number 20 in ColorIndex = 20 script is the color index that you want to delete rows based on. You can change them to your need.

3. Then press F5 key to run this code, and all rows which cells contain the blue color in column A have been deleted at once.


Recommended Productivity Tools

Ribbon of Excel (with Kutools for Excel installed)

300+ Advanced Features Increase Your Productivity by 71%, and Help You To Stand Out From Crowd!

Would you like to complete your daily work quickly and perfectly? Kutools For Excel brings 300+ cool and powerful advanced features (Combine workbooks, sum by color, split cell contents, convert date, and so on...) for 1500+ work scenarios, helps you solve 82% Excel problems.

  •  Deal with all complicated tasks in seconds, help to enhance your work ability, get success from the fierce competition, and never worry about being fired.
  •  Save a lot of work time, leave much time for you to love and care the family and enjoy a comfortable life now.
  •  Reduce thousands of keyboard and mouse clicks every day, relieve your tired eyes and hands, and give you a healthy body.
  •  Become an Excel expert in 3 minutes, and get admiring glance from your colleagues or friends.
  •  No longer need to remember any painful formulas and VBA codes, have a relaxing and pleasant mind, give you a thrill you've never had before.
  •  Spend only $39, but worth than $4000 training of others. Being used by 110,000 elites and 300+ well-known companies.
  •  60-day unlimited free trial. 60-day money back guarantee. Free upgrade and support for 2 years. Buy once, use forever.
  •  Change the way you work now, and give you a better life immediately!

Office Tab Brings Efficient And Handy Tabs to Office (include Excel), Just Like Chrome, Firefox, And New IE

  • Increases your productivity by 50% when viewing and editing multiple documents.
  • Reduce hundreds of mouse clicks for you every day, say goodbye to mouse hand.
  • Open and create documents in new tabs of same window, rather than in new windows.
  • Help you work faster and easily stand out from the crowd! One second to switch between dozens of open documents!
Say something here...
symbols left.
You are guest ( Sign Up? )
or post as a guest, but your post won't be published automatically.
Loading comment... The comment will be refreshed after 00:00.

Be the first to comment.