Thank you in advance for your help on this.
I need to delete an MSWord table row based on the next row text.
My word table has headers which may or may not have sub-rows with details. I need to delete the header rows when there are no details below.
I can have, for example, this table, which is fine, no need to delete anything:
City
Lisbon
Porto
Madrid
London
Country
Portugal
Spain
But, if I have only this, then I need to delete the City header row (this is just an example, I have several header rows that need deleting when there are no contents below)
City
Country
Portugal
Spain
I tried adapting an earlier macro I had for deleting blank lines, but it is not working.
Code:
Dim oTable As Table, oRow As Range, oCell As Cell, Counter As Long, _
NumRows As Long, TextInRow As Boolean
' Specify which table you want to work on.
For Each oTable In ActiveDocument.Tables
' Set a range variable to the first row's range
Set oRow = oTable.Rows(1).Range
Set oNextRow = oTable.Rows(1).Range
NumRows = oTable.Rows.Count
Application.ScreenUpdating = False
For Counter = 1 To NumRows
StatusBar = "Row " & Counter
DeleteRow = False
For Each oCell In oRow.Rows(1).Cells
If oCell.Range.Text = "City" & Chr(13) & Chr(7) And oRow.Rows(1).Next.Cells(1).Range.Text = "Country" & Chr(13) & Chr(7) Then
DeleteRow = True
Exit For
End If
Next oCell
If DeleteRow Then
oRow.Rows(1).Delete
Else
Set oRow = oRow.Next(wdRow)
End If
Next Counter
Next oTable
Application.ScreenUpdating = True
All help will be much appreciated