
Data Structure
Networking
RDBMS
Operating System
Java
MS Excel
iOS
HTML
CSS
Android
Python
C Programming
C++
C#
MongoDB
MySQL
Javascript
PHP
- Selected Reading
- UPSC IAS Exams Notes
- Developer's Best Practices
- Questions and Answers
- Effective Resume Writing
- HR Interview Questions
- Computer Glossary
- Who is Who
Delete Rows Based on Background Color in Excel
Excel is a powerful spreadsheet programme that allows you to easily organise and analyse data. Many users are faced with the requirement to delete rows based on certain criteria. This course will focus on eliminating rows depending on cell background colour. When you have color?coded data or wish to filter out specific rows based on their aesthetic look, working with backdrop colours can be really handy. Rather than manually scrolling through your spreadsheet and eliminating rows one by one, we'll look at an automated method that can save you time and effort.
Deleting Rows in Excel Based on Background Color
Here, we will first create a VBA module, then choose the cell with the background colour to delete. So let us see a simple process to learn how you can delete rows based on background colour in Excel.
Step 1
Consider an Excel sheet where you have cells with multiple background colors, as shown in the following screenshot:
First, right?click on the sheet name and select View code to open the VBA application.
Right click > View code.
Step 2
Then click on Insert, select Module, and copy the below code into the text box.
Insert > Module > Copy.
Example
Sub DeleteRows() 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:="Delete Based Color", Type:=8) On Error GoTo 0 If rngCl Is Nothing Then MsgBox "User cancelled operation." & vbCrLf & _ "Processing terminated", vbInformation, "Delete Rows Color" 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

Step 3
Then click F5 to go to the module, select the cell with the background colour you want to delete, and click OK to delete all the cells with matching background colours.
F5 > Select cell > Ok.
Note: If you want to delete only cells in a single column, use the blow code.
Example
Sub deleterow() Dim xRg As Range, rgDel As Range For Each xRg In ThisWorkbook.ActiveSheet.Range("A2:A10") 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
In the code, A2:A10 is the range of columns.
Conclusion
In this tutorial, we have used a simple example to demonstrate how you can delete rows based on background colour in Excel to highlight a particular set of data.