Skip to main content

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.

Delete rows not containing certain text with Filter

Delete rows not containing certain text with VBA

Delete rows not containing certain text with Kutools for Excel


arrow blue right bubble Delete rows not containing certain text with Filter

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:

doc-delete-rows-not-contain-1
doc-arrow
doc-delete-rows-not-contain-2

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:

doc-delete-rows-not-contain-3

3. Then you can see only the header row and the rows not containing certain text are filtered. See screenshot:

doc-delete-rows-not-contain-4

4. Select all of them except the header row, and right click to select Delete Row from the context menu. See screenshot:

doc-delete-rows-not-contain-5

5. Then click Data > Filter again, and then all the rows not containing certain text are deleted. See screenshot:

doc-delete-rows-not-contain-6
doc-arrow
doc-delete-rows-not-contain-7

arrow blue right bubble Delete rows not containing certain text with VBA

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 Sub
3. Click Run button, and a dialog comes out for you to select a range to work. See screenshot:<

doc-delete-rows-not-contain-8

4. Then click OK, and type the text you want to remove rows base on into another pop-up dialog. See screenshot:

doc-delete-rows-not-contain-9

5. Click OK, and the rows not containing Apple will be removed.


arrow blue right bubble Delete rows not containing certain text with Kutools for Excel

If you think the above methods are not easy for you, you can use Kutools for Excel's Select Specific Cells feature.

Kutools for Excel includes more than 300 handy Excel tools. Free to try with no limitation in 30 days. Get it Now

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:

doc-delete-rows-not-contain-10

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.

doc-delete-rows-not-contain-11

3. Then click Ok, then the rows not containing certain text are selected, right click to select Delete from the context menu. See screenshot:

doc-delete-rows-not-contain-12

4. Now all the rows not containing certain text in the range are removed. Click her for more information about Select Specific Cells.


Relative Articles:

Best Office Productivity Tools

Popular Features: Find, Highlight or Identify Duplicates   |  Delete Blank Rows   |  Combine Columns or Cells without Losing Data   |   Round without Formula ...
Super Lookup: Multiple Criteria VLookup    Multiple Value VLookup  |   VLookup Across Multiple Sheets   |   Fuzzy Lookup ....
Advanced Drop-down List: Quickly Create Drop Down List   |  Dependent Drop Down List   |  Multi-select Drop Down List ....
Column Manager: Add a Specific Number of Columns  |  Move Columns  |  Toggle Visibility Status of Hidden Columns  |  Compare Ranges & Columns ...
Featured Features: Grid Focus   |  Design View   |   Big Formula Bar    Workbook & Sheet Manager   |  Resource Library (Auto Text)   |  Date Picker   |  Combine Worksheets   |  Encrypt/Decrypt Cells    Send Emails by List   |  Super Filter   |   Special Filter (filter bold/italic/strikethrough...) ...
Top 15 Toolsets12 Text Tools (Add Text, Remove Characters, ...)   |   50+ Chart Types (Gantt Chart, ...)   |   40+ Practical Formulas (Calculate age based on birthday, ...)   |   19 Insertion Tools (Insert QR Code, Insert Picture from Path, ...)   |   12 Conversion Tools (Numbers to Words, Currency Conversion, ...)   |   7 Merge & Split Tools (Advanced Combine Rows, Split Cells, ...)   |   ... and more

Supercharge Your Excel Skills with Kutools for Excel, and Experience Efficiency Like Never Before. Kutools for Excel Offers Over 300 Advanced Features to Boost Productivity and Save Time.  Click Here to Get The Feature You Need The Most...

kte tab 201905


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!
Comments (1)
No ratings yet. Be the first to rate!
This comment was minimized by the moderator on the site
I am trying to modify the VBA code to add an option like this,

Dim xOpt As Integer
xOpt = Application.InputBox("Rows Around Kept (0, 1, 2)", xTitleId, "", Type:=1)

where 0 is the same as your code above where it keeps only the row with specified word in it and deletes all other rows.
where 1 keeps the rows immediately above and below the rows with the specified word in it and deletes all other rows.
where 2 keeps the 2 rows above and below the rows with the specified words in it and deletes all other rows.
There are no comments posted here yet
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations