Would you post a sample data?
Option Explicit
Sub test2()
Dim dic As Object
Dim r As Range, w, k
Dim s As String, p As Long
Dim tbl As Table, n As Long
Set dic = CreateObject("scripting.dictionary")
Set r = ActiveDocument.Content
r.Collapse
With r.Find
.Font.Bold = True
Do While .Execute
For Each w In r.Words
s = Trim(w.Text)
If Len(s) > 1 Then
If Not dic.Exists(s) Then
Set dic(s) = CreateObject("scripting.dictionary")
End If
p = w.Information(wdActiveEndPageNumber)
dic(s)(p) = Empty
End If
Next
Loop
End With
If dic.Count = 0 Then Exit Sub
Set r = ActiveDocument.Bookmarks("\EndOfDoc").Range
Set tbl = ActiveDocument.Tables.Add(r, dic.Count, 2)
For Each k In dic
n = n + 1
tbl.Cell(n, 1).Range.Text = k
tbl.Cell(n, 2).Range.Text = Join(dic(k).keys, ",")
Next
End Sub