Excel.Tips.Net ExcelTips (Menu Interface)

Getting Rid of Empty Rows after Importing

Summary: Import data into a worksheet (or paste it there) and you may find that you end up with a group of blank cells you need to get rid of. Here are some handy ideas on getting rid of those extra rows. (This tip works with Microsoft Excel 97, Excel 2000, Excel 2002, and Excel 2003. You can find a version of this tip for the ribbon interface of Excel (Excel 2007 and later) here: Getting Rid of Empty Rows after Importing.)

There are numerous times when Tom has a worksheet imported from another program into Excel so he can work with the data. The importing works fine, but the import process adds lots (dozens and sometimes hundreds) of extra rows that have no data in them. After the import Tom has to manually delete those extra rows so he can use the rest of the data. Tom wonders if there is a way to easily get rid of these empty rows.

There are a number of ways you can approach this problem. The easiest way may be to simply sort the imported data by the column of your choice. All the rows that contain nothing in that column end up at either the end or beginning of the data (depending on if you sort in ascending or descending order) and you can easily delete those rows.

Obviously, when you do a sort in this manner you could end up with your data out of the original, imported order. If you need your data to be in the original order—but with the blank rows removed—just insert a column to the left or right of your data, fill it with sequential numbers, perform the sort by any column except that added column, and then delete the rows that are blank (with only something in the numbering column). You can then sort a second time based on the numbering column and your data will be back in its original order.

Another approach is to follow these steps:

  1. Select an entire column.
  2. Press F5. Excel displays the Go To dialog box.
  3. Click Special. Excel displays the Go To Special dialog box.
  4. Choose Blanks and then click OK. Excel selects only those cells in the column that are blank.
  5. Choose Delete from the Edit menu. Excel displays the Delete dialog box.
  6. Choose Entire Row and then click OK.

If you prefer to use a macro to get rid of the blank rows, you can use something similar to the following:

Sub DeleteEmptyRows()
    Dim LastRow As Long
    Dim J As Long

    LastRow = ActiveSheet.UsedRange.Rows.Count + _
      ActiveSheet.UsedRange.Rows(1).Row - 1
    Application.ScreenUpdating = False
    For J = LastRow To 1 Step -1
        If Application.WorksheetFunction.CountA(Rows(J)) = 0 Then
            Rows(J).Delete
        End If
    Next J
    Application.ScreenUpdating = True
End Sub

Why would you want to use a macro? Because you may need to delete empty rows week after week. Just put the macro into your Personal workbook and you can then access it whenever you need.

Additional information on this topic can be found on these pages:

http://www.cpearson.com/Excel/deleting.htm#DeleteBlankRows
http://www.mvps.org/dmcritchie/excel/lastcell.htm

ExcelTips is your source for cost-effective Microsoft Excel training. This tip (7986) applies to Microsoft Excel versions: 97 | 2000 | 2002 | 2003

You can find a version of this tip for the ribbon interface of Excel (Excel 2007 and later) here: Getting Rid of Empty Rows after Importing.

Related Tips:

Got the Time? Understanding the ins and outs of working with times and dates can be confusing. Remove the confusion--ExcelTips: Times and Dates is an invaluable resource for learning how best to work with times and dates. Check out ExcelTips: Times and Dates today!