An implementation of Visual Basic that is built into Microsoft products.
Use a loop around the Find.Execute call so that the code repeats for every match instead of stopping after the first one.
Example adapting the existing macro:
Sub Horse_Above_10()
With Selection.Find
.ClearFormatting
.Text = "\) [0-9]{2,} [A-Z]" ' wildcard pattern
.Replacement.Text = ""
.Forward = True
.Wrap = wdFindStop
.Format = True ' enable formatting filter
.Font.Size = 12 ' restrict to 12 pt only
.MatchCase = False
.MatchWholeWord = False
.MatchAllWordForms = False
.MatchSoundsLike = False
.MatchWildcards = True
End With
Do While Selection.Find.Execute
Selection.MoveLeft Unit:=wdCharacter, Count:=1
Selection.Delete
Selection.TypeText Text:=" "
Selection.MoveDown Unit:=wdLine, Count:=1
Loop
End Sub
Do While Selection.Find.Execute keeps running the body of the loop for each occurrence that matches the wildcard pattern, so the whole document is processed instead of only the first match.
If the search should continue from the beginning after reaching the end of the document, set .Wrap = wdFindContinue instead of wdFindStop.
References: