It's possible the document has acquired some of corruption. Corrupt documents can often be 'repaired' by inserting a new, empty, paragraph at the very end, copying everything except that new paragraph to a new document based on the same template (headers & footers may need to be copied separately), closing the old document and saving the new one over it. With a mailmerge main document, you'd also need to re-connect to the data source and re-apply any filtering.
Similarly, corrupt tables (which the above process won't repair) can often be 'repaired' by:
• converting the tables to text and back again;
• saving the document in RTF format, closing the document then re-opening it and re-saving in the doc(x) format; or
• cutting & pasting them to another document that you save the document in RTF format, which you then close then re-open before copying them back to the source document – which the macro below automates; or
Do note that some forms of table corruption can only be repaired by the first method.
See also:
How to troubleshoot damaged documents in Word - Office | Microsoft Docs
A basic 'table repair' macro is:
Code:
Sub TableRepair()
'Macro to repair damaged tables by saving each table in an RTF-format file, then
' reinserting the table from the RTF-format file into the source document.
Application.ScreenUpdating = False
Dim Rng As Range, i As Long, RTFDoc As Document, strPath As String
With ActiveDocument
strPath = .Path & "\"
For i = .Tables.Count To 1 Step -1
Set Rng = .Tables(i).Range
Set RTFDoc = Documents.Add(Visible:=False)
With RTFDoc
.Range.FormattedText = Rng.FormattedText
.SaveAs2 FileName:="strPath & RTFDoc.RTF", Fileformat:=wdFormatRTF, AddToRecentFiles:=False
.Close
End With
Set RTFDoc = Documents.Open(FileName:="strPath & RTFDoc.RTF", AddToRecentFiles:=False, Visible:=False)
Rng.Tables(1).Delete
With RTFDoc
Rng.FormattedText = .Tables(1).Range.FormattedText
.Close
End With
Kill "strPath & RTFDoc.RTF"
Next
End With
Set Rng = Nothing: Set RTFDoc = Nothing
Application.ScreenUpdating = True
End Sub