Set the find to search by formatting and not treat the font size as part of the wildcard text pattern.
In the current code, .Format = False tells Word to ignore the .Font.Size = 12 condition, so the wildcard text pattern is applied regardless of font size, which is why text in 10.5 pt is also found.
Adjust the macro as follows:
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
If Selection.Find.Execute Then
Selection.MoveLeft Unit:=wdCharacter, Count:=1
Selection.Delete Unit:=wdCharacter, Count:=1
Selection.MoveDown Unit:=wdLine, Count:=1
End If
End Sub
Key change: .Format = True ensures the .Font.Size = 12 criterion is applied, so only text that matches the wildcard pattern and is in 12‑point font is found, not 10.5.
References: