Hi,
I had copied the below code from the previous posts, it working effectively only when the find string is unique in the document, could you please modify the below code as if the find string is more than one time, then take the first match string as a base to delete the above tables. but the below code is taking the last match case as a base to delete the above tables.
Please add a browse option to delete the unncessary tables in a folder having more than 20 docs.
Please ammend the below changes :
Batch processing of docs in a folder to delete the tables in a folder (Format .rtf, .docx)
ADD:
Dim SourcePath As String
SourcePath = InputBox("PLEASE ENTER PATH", "SOURCE PATH") & ""
Below code is taking last match case as base, please change it to first match case a base to delete the above tables.
Please find the attachment zip folder having more documents and find string is available more than one time.
AAA is available in Table 3 & Table 6 but the below code is deleting a tables above to the table 6, but my need is to delete a tables on first match case which is above to the table 3.
Please find the existing code below:
Code:
Sub Demo()
Application.ScreenUpdating = False
Dim Rng As Range
With ActiveDocument.Range
With .Find
.ClearFormatting
.Replacement.ClearFormatting
.Text = "AAA"
.Replacement.Text = ""
.Format = False
.Forward = False
.Wrap = wdFindStop
.MatchCase = True
.MatchWholeWord = False
.MatchWildcards = False
End With
Do While .Find.Execute
If .Information(wdWithInTable) = True Then
Set Rng = ActiveDocument.Range(0, .Tables(1).Range.Start)
Do While Rng.Tables.Count > 0
Rng.Tables(1).Delete
Loop
Exit Do
End If
.Collapse wdCollapseStart
Loop
End With
Application.ScreenUpdating = True
End Sub
Thanks in advance.