Tip: Other languages are Google-Translated. You can visit the English version of this link.
Log in


How to delete rows with missing/blank values in certain columns in Excel?

In some cases, you may need to delete the entire rows with missing value or blank cell in a range of cells in Excel. This article will show you how to deal with this problem.

Delete rows with missing/blank values in certain columns with VBA code

Easily fill all blank cells with certain value in Excel

Click Kutools > Insert > Fill Blank Cells. Kutools for Excel's Fill Balnk Cells utility helps you not only fill all blank cells with certain value, but fill balnk cells based on the above value as you need. See screenshot:

Kutools for Excel includes more than 300 handy Excel tools. Free to try with no limitation in 60 days. Download the free trial now

arrow blue right bubble Delete rows with missing/blank values in certain columns with VBA code

Supposing you want to delete rows if missing value exists in column B and D as bellow screenshot shown. You can run the following VBA code to achieve it.

1. Press Alt + F11 to open the Microsoft Visual Basic for Applications window.

2. In the Microsoft Visual Basic for Applications window, click Insert > Module. Then copy and paste the below VBA code into the Code window.

VBA code: Delete rows with missing/blank values in certain columns

Sub DeleteRows()
    Dim I As Integer
    Dim xCount As Integer
    Dim xRg As Range
    Dim xTxt As String
    On Error Resume Next
    If ActiveWindow.RangeSelection.Count > 1 Then
      xTxt = ActiveWindow.RangeSelection.AddressLocal
      xTxt = ActiveSheet.UsedRange.AddressLocal
    End If
    Set xRg = Application.InputBox("Please select range:", "Kutools for Excel", xTxt, , , , , 8)
    If xRg Is Nothing Then Exit Sub
    If xRg.Areas.Count > 1 Then
        MsgBox "You can’t select multiple ranges to operate", vbInformation, "Kutools for Excel"
        Exit Sub
    End If
    xCount = xRg.Rows.Count
    For I = xCount To 1 Step -1
        If Application.WorksheetFunction.CountBlank(xRg.Rows(I)) > 0 Then
        End If
End Sub

3. Press F5 key to run the code. Then a Kutools for Excel dialog box pops up, please select the column range which you want to check if missing value exists or not, and then click the OK button.

After clicking the OK button, you can see all rows with missing value in column B and D are deleted immediately. See screenshot:

Note: You can’t select multiple ranges to operate at the same time. If missing value exists in multiple columns and you want to delete all rows, you can repeat the above step 3 from one column to another.

arrow blue right bubbleRelated articles:

Recommended Productivity Tools for Excel

Kutools for Excel Helps You Always Finish Work Ahead of Time, and Stand Out From Crowd

  • More than 300 powerful advanced features, designed for 1500 work scenarios, increasing productivity by 70%, give you more time to take care of family and enjoy life.
  • No longer need memorizing formulas and VBA codes, give your brain a rest from now on.
  • Become an Excel expert in 3 minutes, Complicated and repeated operations can be done in seconds, 
  • Reduce thousands of keyboard & mouse operations every day, say goodbye to occupational diseases now.
  • 110,000 highly effective people and 300+ world-renowned companies' choice.
  • 60-day full features free trial. 60-day money back guarantees. 2 years of free upgrade and support.

Brings Tabbed Browsing and Editing to Microsoft Office, Far More Powerful Than The Browser's Tabs

  • Office Tab is designed for Word, Excel, PowerPoint and Other Office Applications: Publisher, Access, Visio and Project.
  • Open and create multiple documents in new tabs of the same window, rather than in new windows.
  • Increases your productivity by 50%, and reduces hundreds of mouse clicks for you every day!
Say something here...
symbols left.
You are guest ( Sign Up? )
or post as a guest, but your post won't be published automatically.
Loading comment... The comment will be refreshed after 00:00.

Be the first to comment.