untested, try:
Sub DeleteRowsWithinRange()
Dim rng As Range
Dim InputRng As Range
Dim DeleteRng As Range, DeleteRng2 As Range
Dim DeleteStr As String
xTitleIdRng = "Range"
Set InputRng = Application.Selection
Set InputRng = Application.InputBox("Range :", xTitleIdRng, InputRng.Address, Type:=8)
DeleteStr = Application.InputBox("Delete Text", xTitleIdDel, Type:=2)
For Each rng In InputRng
If rng.Value = DeleteStr Then
If IsEmpty(rng.EntireRow.Cells(9).Value) Then
If DeleteRng Is Nothing Then Set DeleteRng = rng Else Set DeleteRng = Application.Union(DeleteRng, rng)
Else
If DeleteRng2 Is Nothing Then Set DeleteRng2 = Union(Cells("A" & rng.Row & ":H" & rng.Row), Cells("J" & rng.Row & ":ZZ" & rng.Row)) Else Set DeleteRng2 = Application.Union(DeleteRng2, Union(Cells("A" & rng.Row & ":H" & rng.Row), Cells("J" & rng.Row & ":ZZ" & rng.Row)))
End If
End If
Next
If Not DeleteRng2 Is Nothing Then DeleteRng2.ClearContents
If Not DeleteRng Is Nothing Then DeleteRng.EntireRow.Delete
End Sub