Delete rows based on Cell Color using VBA

Home/VBA/Delete rows based on Cell Color using VBA

VBA code to vba delete rows based on cell color example will help us to delete rows based on cell background fill color from excel worksheet. We can use Delete method of Rows to delete the rows based on Cell Color. In this example we will see how to delete the rows in excel worksheet using VBA based on Cell Color. VBA code for deleting rows based on Cell Color macro should work for all the version of Microsoft Excel 2003, Excel 2007, Excel 2010, and Excel 2013.



50+ Project Management Templates Pack
Excel PowerPoint Word

Advanced Project Plan & Portfolio Template
Excel Template

Business Presentations Templates Pack
PowerPoint Slides

20+ Excel Project Management Pack
Excel Templates

20+ PowerPoint Project Management Pack
PowerPoint Templates

10+ MS Word Project Management Pack
Word Templates

VBA delete rows based on cell color

Here is the Example VBA syntax and Example VBA Macro to delete rows from excel worksheets based on Cell Color. This will help you to know how to delete specific rows based on cell background color from Excel workbook using VBA.

VBA Delete rows based on Cell background Color: Syntax

Following is the VBA syntax and sample VBA code to delete rows based on Cell Color from worksheet using VBA. We are using the Delete method of the Rows object of worksheet.

If Then Rows(“

[Row Numbers]”).EntireRow.Delete

Here is the color condition which you want to check to delete rows. And Row Numbers are the row numbers to delete. And EntireRow.Delete method will delete the Entire rows from the Excel spreadsheet.

Delete rows based on Cell Color using VBA: Examples

The following VBA code is to delete rows based on Cell Color from the excel worksheet. This code will delete the rows (1 to 20) if it satisfy the color condition if cell background is red.

Sub sbDelete_Rows_Based_On_Cell_Color()
Dim lRow As Long
Dim iCntr As Long
lRow = 20
For iCntr = lRow To 1 Step -1
If Cells(iCntr, 1).Interior.ColorIndex = 3 Then ‘3=Red
End If
End Sub

Instructions to run the VBA code to delete rows based on Cell Color

Please follow the below steps to execute the VBA code to delete rows based on Cell Color from Excel worksheets.
Step 1: Open any Excel workbook
Step 2: Press Alt+F11 – This will open the VBA Editor
Step 3: Insert a code module from then insert menu
Step 4: Copy the above code and paste in the code module which have inserted in the above step
Step 5: Enter some sample data in first column from row 1 to 20 and fill some cell with red background color to test.
Step 6: Now press F5 to execute the code

Now you can observe that the rows are deleted from worksheet if cells in Range A1 to A20 with red background color.

Explained VBA Code to Delete Rows based on Cell Color

Strating program and sub procedure to write VBA code to delete rows based on Cell Color.

Sub sbDelete_Rows_Based_On_Cell_Color()

‘Declaring the variable lRow as long to store the last row number
Dim lRow As Long

‘Declaring the variable iCntr as long to use in the For loop
Dim iCntr As Long

‘Assigning the last row value to the variable lRow
lRow = 20

‘Using for loop
‘We are checking the each cell if background color is red
‘And deleting the row if true
For iCntr = lRow To 1 Step -1
If Cells(iCntr, 1).Interior.ColorIndex = 3 Then ‘3=Red
End If

‘Ending the macro to delete the rows based on Cell Color using VBA
End Sub

Here you can observe that we are looping through the cells from bottom to up. This is the best approach to delete the rows based on the cell background color.

By |April 21st, 2014|VBA|2 Comments

About the Author:

PNRao is a passionate business analyst and having close to 10 years of experience in Data Mining, Data Analysis and Application Development. This blog is his passion to learn new skills and share his knowledge to make you expertise in Data Analysis (Excel, VBA, SQL, SAS, Statistical Methods, Market Research Methodologies and Data Analysis Techniques).


  1. Hamza Ben Sayeh January 21, 2016 at 1:31 AM - Reply

    end if without block if (compile error)

  2. Saeed July 27, 2016 at 10:32 PM - Reply

    Same error
    End If without block If (Compiler error)

Leave A Comment

Related pages

unprotect workbook without passwordsql query examples with answers pdfpivot chart in excel 2010sql query exceloffset vbadelete macro in excelvb adodb.connectionvb cellshiding a column in excelhow to unlock excel spreadsheet 2010 without passwordusing vba in accesshlookup in excel tutorialwriting macros in excelexcel vba repeattools in excel 2007 macro securitytutorial for macros in exceltutorial on excel macroswhat is dml in sqlexcel vba code examplesforgot excel worksheet passwordsample excel vba codehow to insert a textbox in excelexcel vba copy destinationhow to create a userform in excel 2010excel 3d plotsproject management powerpoint presentation templatehow to remove blank rows in excel 2007adodb recordset methodsvba autofilterinsert row numbers in excelexcel connect to sql serveraddress vba excelfind duplicates excel 2010vlookup isnaadvance excel tutorialadvanced sql interview questions pdfexcel 2007 hlookupvba case switchvba excel saveasleft string vbaunlock excel cells without passwordadvanced vlookup examplesoption button excelhow to create a sales dashboard in excelnumber of rows in excel 2007unprotect sheet excelexcel vba break for loopusing vbahow to insert a blank row in excelexcel vlookup true falsemerge cell in excel 2010autofit cells in excelexcel vba graph in userformexcel 2010 vlookup multiple criteriavba create classhow do you sort alphabetically in excelautomatically insert rows in excelmacro to save excel filemacros in exceliferror in excelexcel convert to xmlvba stringsexcel project management dashboard templateconcatenate formula in excelsorting in sqlvba to open excel file from folderunprotect excel passwordunlock excel vba passwordautomation testing interview questions and answers for fresherslistbox excelisevenhow to remove the blank rows in excelhow to check duplicates in excelvba sortsave xls as xmlvba enableeventssql tutorials for beginnersunlock microsoft excelhelp with vlookup function in excelmark duplicates in excel