OK, here's one such macro. With this macro, you nominate the string to match, the column to test, and the row to start at.
Dim SBar As Boolean
Sub CleanUp()
Call MacroEntry
Dim iRow, TopRow, RowSet As Long
Dim ColSelect, oStr As String
ColSelect = InputBox("What Column do you want to test?", "Test Column", "A")
TopRow = InputBox("What Row do you want to start at?", "Start Row", "1")
oStr = InputBox("What String do you want to test?", "Test String")
With ActiveSheet
RowSet = .Cells.SpecialCells(xlCellTypeLastCell).Row - TopRow + 1
On Error Resume Next
For iRow = .Cells.SpecialCells(xlCellTypeLastCell).Row To TopRow Step -1
Application.StatusBar = "Processing Row " & iRow - TopRow + 1 & " of " & RowSet
If InStr(.Cells(ColSelect & iRow).Value, oStr) <> 0 Then
.Rows(iRow).EntireRow.Delete
End If
Next iRow
End With
Call MacroExit
End Sub
Private Sub MacroEntry()
SBar = Application.DisplayStatusBar
Application.DisplayStatusBar = True
Application.ScreenUpdating = False
Application.Calculation = xlManual
End Sub
Private Sub MacroExit()
Application.Calculation = xlAutomatic
Application.StatusBar = False
Application.DisplayStatusBar = SBar
Application.ScreenUpdating = True
End Sub
As you can see, there are lots of ways of approaching the issue.