Delete blank rows in a table using VBA

Home/VBA/Delete blank rows in a table using VBA

VBA code to delete blank rows in table example will helps to delete empty rows in specific table range from excel worksheet. We can use Delete method of Rows to delete the rows in a table. In this example we will see how to delete the rows from a table in excel worksheet using VB. Excel VBA Macro code for deleting rows in a table should work for all the version of Microsoft Excel 2003, Excel 2007, Excel 2010, and Excel 2013.

PREMIUM TEMPLATES LIMITED TIME OFFER

ON SALE80% OFF

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 code to delete rows in a table


Here is the Example VBA syntax and Example VBA Macro to delete rows in table from excel worksheets. This will help you to know how to delete specific rows in a table from Excel workbook using VBA.

VBA delete blank rows in table: Syntax


Following is the VBA syntax and sample VBA code to delete rows in a table from worksheet using VBA. We are using the Delete method of the Rows object of worksheet.


If Application.WorksheetFunction.CountA(Rows(RowNumber)) = 0 Then Rows(RowNumber).EntireRow.Delete

Here Application.WorksheetFunction.CountA will check if the row is blank. And the Rows.delete method will delete the row if row is blank.

Delete blank rows in Table: Examples


The following VBA code is to delete blank rows in Table1 in the active sheet if rows are blank.

Sub sbVBS_To_Delete_Blank_Rows_In_Table()
Dim iCntr As Long
Dim rng As Range
Set rng = ActiveSheet.ListObjects("Table1").Range
For iCntr = rng.Row + rng.Rows.Count - 1 To rng.Row Step -1
If Application.WorksheetFunction.CountA(Rows(iCntr)) = 0 Then Rows(iCntr).EntireRow.Delete
Next
End Sub 

Instructions to run the VBA code to delete blank rows in table


Please follow the below steps to execute the VBA code to delete blank rows in Table1 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 and insert table. And leave some blank rows for testing purpose.
Step 6: Now press F5 to execute the code

Now you can observe that the all blank rows are deleted from worksheet in in Table1.

Explained VBA Code to Delete Rows in Table


‘Start writing the Excel VBA Macro to delete blank rows in a particular range
Sub sbVBS_To_Delete_Blank_Rows_In_Table()

‘Declaring a variable iCntr as Long to store the row number iteration to use in for loop.
Dim iCntr As Long
‘Declaring range variable rng to set the range
Dim rng As Range

‘Assigning the range A10 to D20 to rng range object
Set rng = ActiveSheet.ListObjects(“Table1”).Range

‘Looping through the rows in the table tange from last to frist. Here step statement will helps.
For iCntr = rng.Row + rng.Rows.Count – 1 To rng.Row Step -1
‘Checking the row if it is blank.
‘And deleting the row if it is blank.
If Application.WorksheetFunction.CountA(Rows(iCntr)) = 0 Then Rows(iCntr).EntireRow.Delete
Next

End Sub
Ending the sub procedure to delete blank rows in a table range.

LIMITED TIME OFFER
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).

2 Comments

  1. rd November 13, 2014 at 1:39 PM - Reply

    great article. I needed a refresher. Thanks..

  2. Al K February 20, 2015 at 1:58 AM - Reply

    My VBA Editor shows that

    For iCntr = rng.Row + rng.Rows.Count – 1 To rng.Row Step -1

    has Compile Error: Syntax error

Leave A Comment


Related pages


vba sql insertms access vba code examplesproject management dashboard template excelaccess vba examplesvba sql statementexcel to sql queryhow do i autofit in excelvlookup ref errorsumif in excelunprotecting excel workbook without passwordcountif formula in excelvb 6.0 interview questions and answers for experiencedexcel formula to identify duplicatesvba userform comboboxdelete unwanted rows in excelexcel vlookup function examplesyes no msgbox vbaqlikview delete rowsvba code to read excel filesimple vbahow to write an excel macroexcel 2013 developer tabms access remove duplicatesvba tutorial accessvba structurehow to write a vlookup formula in excelsum if function in excelhow to create an excel table with headersunlock excel sheetvba combobox codedim vba excelproject planning and scheduling in excelexcel 2010 find duplicateshow to write a macro in excel 2007copy values vbatasks template excellookup formula in excel 2007vba excel passwordexcel 2013 match functionvba excel protect sheetmacros for excel 2007excel color templatewhat does sub mean in vbaexcel vba copy range to another worksheethow to use sumif in excel 2013vba activeworkbook.saveexcel macro samplesvlookup using vbasql sort tablehow to merge columns in excel 2007ms xl shortcut keysexcel look up functionkpi excel dashboardadd developer tab to ribbon word 2010excel formula duplicatesexcel unprotect sheethow to access vba in excel 2007unlock password excelexcel vba sumexample of dmlcombobox in excelhow to delete blank rows in excel 2010excel vba chart typesvba squarehidden numbers worksheetsample vba programsexcel spreadsheet password protectisnumber function in excelunprotect excel vbaisna formulameaning of offset in hindivba handbook pdfms access insert into vbaexcel vlookup formulas with examplesfor each vbamacros in excel sheetremove duplicate cells excel