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.
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.
3. Click Run button, and a dialog comes out for you to select a range to work. See screenshot:<
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 Sub
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
Best Office Productivity Tools
Supercharge Your Spreadsheets： Experience Efficiency Like Never Before with Kutools for Excel
Kutools for Excel boasts over 300 features, ensuring that what you need is just a click away...
Supports Office/Excel 2007-2021 & newer, including 365 | Available in 44 languages | Enjoy a full-featured 30-day free trial.
Office Tab Brings Tabbed interface to Office, and Make Your Work Much Easier
- Enable tabbed editing and reading in Word, Excel, PowerPoint, 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!