Try:
Sub TabulateDefinedTerms()
Application.ScreenUpdating = False
Dim Doc As Document, RefDoc As Document, Rng As Range
Dim StrTerms As String, strFnd As String, i As Long, j As Long
Dim StrLvl As String, StrTmp As String, StrOut As String, StrBreak As String
StrOut = "Term" & vbTab & "Refs" & vbTab & "Term" & vbTab & "Refs" & vbCr
Set Doc = ActiveDocument
Set RefDoc = Documents.Open("Drive:\FilePath\KeyTerms.doc", AddToRecentFiles:=False)
StrTerms = RefDoc.Range.Text: RefDoc.Close False
For i = 0 To UBound(Split(StrTerms, vbCr))
strFnd = Trim(Split(StrTerms, vbCr)(i))
If strFnd = "" Then GoTo NullString
StrTmp = ""
With Doc.Range
With .Find
.ClearFormatting
.Replacement.ClearFormatting
.Text = strFnd
.Replacement.Text = ""
.Forward = True
.Wrap = wdFindStop
.Format = False
.MatchCase = True
.MatchWildcards = False
.Execute
End With
Do While .Find.Found
Set Rng = .Duplicate: j = Rng.ListFormat.ListLevelNumber
StrLvl = Rng.ListFormat.ListString: If j = 1 Then j = 9
Do While Rng.Paragraphs.First.Range.Style <> "H2"
Rng.Start = Rng.Start - 1
Rng.Collapse wdCollapseStart
Set Rng = Rng.GoTo(What:=wdGoToBookmark, Name:="\HeadingLevel")
With Rng.Paragraphs.First.Range.ListFormat
If j > .ListLevelNumber Then
StrLvl = .ListString & " " & StrLvl
j = .ListLevelNumber
End If
End With
Loop
StrTmp = StrTmp & Trim(StrLvl) & ", "
.Start = .Paragraphs.First.Range.End
.Collapse wdCollapseEnd
.Find.Execute
Loop
End With
StrTmp = Left(StrTmp, Len(StrTmp) - 2)
If i Mod 2 = 0 Then StrBreak = vbTab Else StrBreak = vbCr
StrOut = StrOut & strFnd & vbTab & StrTmp & StrBreak
NullString:
Next
Set Rng = Doc.Range.Characters.Last
With Rng
.InsertAfter vbCr & Chr(12) & StrOut
.Start = .Start + 2
.ConvertToTable Separator:=vbTab, Numcolumns:=4, AutoFitBehavior:=wdAutoFitContent, AutoFit:=True
With .Tables(1).Rows.First
.Range.ParagraphFormat.Alignment = wdAlignParagraphCenter
.Range.Font.Bold = True
.HeadingFormat = True
End With
End With
Application.ScreenUpdating = True
End Sub
Note that you'll need to replace 'Drive:\FilePath\KeyTerms.doc' with the correct path & filename for the document holding the defined terms, each of which should consist of a single paragraph.