How to Use VBA to Delete Empty Rows in Excel?

Delete Empty Rows in Excel VBA 4

Today I’ll show you how you can use VBA to delete the empty rows in Excel from your data set.


How to Use VBA to Delete Empty Rows in Excel: A Step-by-Step Guide

Here we’ve got a data set with the Names of some students and their Marks in English in the annual examination of a school called Sunflower Kindergarten.

Data Set to Delete Empty Rows in Excel VBA

But mistakenly, some empty rows have been created within the data set which we want to delete. In this article, I’ll show you how you can delete the empty rows from this data set using a Macro (VBA Code).

Read More: How to Use Macro to Delete Rows Based on Criteria in Excel


Step 1: Open the VBA Window to Delete Empty Rows in Excel

  • Press ALT+F11 on your keyboard. The VBA window will open.

Opening VBA Window in Excel


Step 2: Insert the VBA Module to Delete Empty Rows in Excel

  • Go to the Insert tab in the VBA window. 
  • From the options available, select Module.

Inserting New Module in VBA Window


Step 3: Embed the VBA Code to Delete Empty Rows

  • A new module window called “Module 1” will open. 
  • Insert the following VBA code in the module.

Code:

Sub Delete_Rows()
Dim Count As Integer
For i = 1 To Selection.Rows.Count
For j = 1 To Selection.Rows.Count
    Count = 0
    For k = 1 To Selection.Columns.Count
        If Selection.Cells(j, k) = "" Then
            Count = Count + 1
        End If
    Next k
    If Count = Selection.Columns.Count Then
        Rows(j + 3).EntireRow.Delete
    End If
Next j
Next i
End Sub

Notes:

  • This code produces a Macro called Delete_Rows.
  • In the 12th line of the code, Rows(j + 3).EntireRow.Delete, 3 is the number of rows before the left before the first row of your data set.
  • You change it according to your data set.

VBA Code to Delete Empty Rows in Excel


Step 4: Save the Workbook as a Macro-Enabled Feature to Delete Empty Rows in Excel

  • Save the workbook as an Excel Macro-Enabled Workbook.

Saving Excel Macro-Enabled Workbook in Excel


Step 5: Select Data from Where You Want to Delete Empty Rows in Excel

  • Return to your worksheet and select the data set (Without the Column Headers).

Selecting Data Set to Delete Empty Rows in Excel VBA

Read More: How to Apply VBA to Delete Rows with Specific Data in Excel


Step 6: Run the VBA Macro to Delete Rows with Blank Cells in Excel

  • Press ALT+F8 on your keyboard.
  • A dialogue box called Macro will open. Select Delete_Rows and click on Run.

Macro Dialogue Box in Excel

Read More: Excel VBA: Delete Row If Cell Is Blank


Step 7: The Final Output to Delete Empty Rows in Excel

  • You will find empty rows deleted automatically.

Empty Rows in Excel Deleted Using VBA

Read More: Excel VBA to Delete Row If Cell Contains Partial Text


Download Practice Workbook


Conclusion

Using these steps, you can delete the empty rows from your data set in Excel. Do you have any questions? Feel free to ask us.


Related Articles

Get FREE Advanced Excel Exercises with Solutions!
Rifat Hassan
Rifat Hassan

Rifat Hassan, BSc, Electrical and Electronic Engineering, Bangladesh University of Engineering and Technology, has worked with the ExcelDemy project for almost 2 years. Within these 2 years, he has written over 250 articles. He has also conducted a few Boot Camp sessions on effective coding, especially Visual Basic for Applications (VBA). Currently, he is working as a Software Developer to develop and deploy additional add-ins to enhance the customers with a more sophisticated experience with Microsoft Office Suits,... Read Full Bio

We will be happy to hear your thoughts

Leave a reply

Close the CTA

Advanced Excel Exercises with Solutions PDF

 

 

ExcelDemy
Logo