How to delete rows not containing certain text in Excel?
Maybe some of you know how to delete the entire rows when they contain some certain texts in Excel, but if you want to entire the row when they do not contain the certain texts, how could you do? Now, follow this tutorial, you may find the way to solve this problem in Excel.
Recommended Productivity Tools for Excel
Office Tab: Bring powerful tabs to Office (include Excel), just like Chrome, Safari, Firefox and Internet Explorer. Save you half the time, and reduce thousands of mouse clicks for you. 30-day Unlimited Free Trial
Kutools for Excel: Save 71% of your time and solve 82% Excel problems for you. 300+ advanced tools designed for 1500+ work scenario, make Excel much easy and increase productivity immediately.60-day Unlimited Free Trial
In Excel, the Filter function can quickly help you to filter the rows that do not contain certain text, and then you can select them to delete.
1. Select the column which contains texts you will remove rows based on, and click Data > Filter. See screenshot:
2. In the header of column, there is a filter button, and click it to open the drop-down list, check all except the certain text you want to base on . See screenshot:
3. Then you can see only the header row and the rows not containing certain text are filtered. See screenshot：
4. Select all of them except the header row, and right click to select Delete Row from the context menu. See screenshot:
5. Then click Data > Filter again, and then all the rows not containing certain text are deleted. See screenshot:
VBA is very useful for somewhat difficult operations in Excel, and follow the below steps to delete the rows not containing certain text.
1. Press Alt + F11 to display the Microsoft Visual Basic for Applications window.
2. In the window, click Insert > Module to show a new module window, then copy the following VBA code into the module window.
VBA: Delete entire row if cell does contains certain text.
Sub DeleteRowNoInclude() 'Update20140618 Dim xRow As Range Dim rng As Range Dim WorkRng As Range Dim xStr As String On Error Resume Next xTitleId = "KutoolsforExcel" Set WorkRng = Application.Selection Set WorkRng = Application.InputBox("Range", xTitleId, WorkRng.Address, Type:=8) xStr = Application.InputBox("Text", xTitleId, "", Type:=2) Application.ScreenUpdating = False For i = WorkRng.Rows.Count To 1 Step -1 Set xRow = WorkRng.Rows(i) Set rng = xRow.Find(xStr, LookIn:=xlValues) If rng Is Nothing Then xRow.Delete End If Next Application.ScreenUpdating = True End Sub3. Click Run button, and a dialog comes out for you to select a range to work. See screenshot:<
4. Then click OK, and type the text you want to remove rows base on into another pop-up dialog. See screenshot:
5. Click OK, and the rows not containing Apple will be removed.
If you think the above methods are not easy for you, you can use Kutools for Excel's Select Specific Cells feature.
1. Select the column where you want to delete the rows not containing the certain text, and click Kutools > Select Tools > Select Specific Cells. See screenshot:
2. And in the Select Specific Cells dialog, check Entire row, and select Does not contain, and type the certain text into the text box, also you can click the range button in the Specific type section to select the cell which contain the certain text.
3. Then click Ok, then the rows not containing certain text are selected, right click to select Delete from the context menu. See screenshot:
4. Now all the rows not containing certain text in the range are removed. Click her for more information about Select Specific Cells.
- Delete entire rows if cell not containing zero in Excel
- Delete rows not matching criteria on another sheet