View Single Post
 
Old 05-25-2017, 09:11 PM
Guessed's Avatar
Guessed Guessed is offline Windows 10 Office 2013
Expert
 
Join Date: Mar 2010
Location: Canberra/Melbourne Australia
Posts: 4,176
Guessed has a brilliant futureGuessed has a brilliant futureGuessed has a brilliant futureGuessed has a brilliant futureGuessed has a brilliant futureGuessed has a brilliant futureGuessed has a brilliant futureGuessed has a brilliant futureGuessed has a brilliant futureGuessed has a brilliant futureGuessed has a brilliant future
Default

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.
__________________
Andrew Lockton
Chrysalis Design, Melbourne Australia
Reply With Quote