Rather than deleting the rows, I would recommend you hide them from view. The following code does that in the document you posted.
Code:
Sub HideUnwantedRows()
Dim sText As String, aTbl As Table
Dim iRow As Integer, aRng As Range
sText = InputBox("What text are you searching for?")
For Each aTbl In ActiveDocument.Tables
aTbl.Range.Select
If aTbl.Range.Paragraphs(1).Style = "Agente" Then
Set aRng = aTbl.Range
ElseIf InStr(aTbl.Range.Text, sText) > 0 Then 'if there is at least one row
For iRow = aTbl.Rows.Count To 1 Step -1
If Not InStr(aTbl.Rows(iRow).Range.Text, sText) > 0 Then 'not this row
aTbl.Rows(iRow).Range.Font.Hidden = True
End If
Next iRow
Else
If Not aRng Is Nothing Then 'hide both tables
aRng.End = aTbl.Range.End
aRng.Font.Hidden = True
Set aRng = Nothing
Else 'table is standalone
aTbl.Range.Font.Hidden = True
End If
End If
Next aTbl
With ActiveWindow.View
.ShowAll = False
.ShowHiddenText = False
End With
End Sub
Because the content is only hidden, it can be restored to view by doing a Select All and then going into the Font dialog ant turning off the Hidden attribute.