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.
- Reuse Anything: Add the most used or complex formulas, charts and anything else to your favorites, and quickly reuse them in the future.
- More than 20 text features: Extract Number from Text String; Extract or Remove Part of Texts; Convert Numbers and Currencies to English Words.
- Merge Tools: Multiple Workbooks and Sheets into One; Merge Multiple Cells/Rows/Columns Without Losing Data; Merge Duplicate Rows and Sum.
- Split Tools: Split Data into Multiple Sheets Based on Value; One Workbook to Multiple Excel, PDF or CSV Files; One Column to Multiple Columns.
- Paste Skipping Hidden/Filtered Rows; Count And Sum by Background Color; Send Personalized Emails to Multiple Recipients in Bulk.
- Super Filter: Create advanced filter schemes and apply to any sheets; Sort by week, day, frequency and more; Filter by bold, formulas, comment...
- More than 300 powerful features; Works with Office 2007-2019 and 365; Supports all languages; Easy deploying in your enterprise or organization.
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?