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.
Recommended Excel Productivity Tools
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 Else 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 xRg.Rows(I).EntireRow.Delete End If Next 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.
- How to delete rows if cell is greater/less than a certain value in Excel?
- How to delete all rows except the first header row in Excel?
- How to delete all rows below certain row or active cell in Excel?