Using this method, only by putting it into a loop:
Sub Tidy()
Dim FoundCell As Range, rowstodelete As Range, LastCell As Range
Dim FirstAddr As String, Phrases, Phrase
Phrases = Array("Helper file", "E", "C", "B", "A")
With Range("A:A")
For Each Phrase In Phrases
Set rowstodelete = Nothing
Set LastCell = .Cells(.Cells.Count)
Set FoundCell = .Find(what:=Phrase, LookIn:=xlFormulas, lookat:=xlWhole, After:=LastCell, searchdirection:=xlNext, searchformat:=False)
If Not FoundCell Is Nothing Then
FirstAddr = FoundCell.Address
Do
Set FoundCell = Range("A:A").Find(what:=Phrase, LookIn:=xlFormulas, lookat:=xlWhole, After:=FoundCell, searchdirection:=xlNext, searchformat:=False)
If Not FoundCell Is Nothing And FoundCell.Address <> FirstAddr Then
If rowstodelete Is Nothing Then Set rowstodelete = FoundCell Else Set rowstodelete = Union(rowstodelete, FoundCell)
End If
Loop Until FoundCell Is Nothing Or FoundCell.Address = FirstAddr
If Not rowstodelete Is Nothing Then rowstodelete.EntireRow.Delete
End If
Next Phrase
End With
End Sub