No, that would be less efficient than, for example:
Code:
Sub Demo()
Application.ScreenUpdating = False
Dim StrRep As String, i As Long, j As Long
StrRep = "red|white|blue"
With ActiveDocument.Range.Find
.ClearFormatting
.Replacement.ClearFormatting
.Forward = True
.Wrap = wdFindContinue
.MatchWildcards = True
.Text = "<VAR>"
For i = 0 To UBound(Split(StrRep, "|"))
.Replacement.Text = Split(StrRep, "|")(i)
For j = 1 To 24
.Execute Replace:=wdReplaceOne
Next
Next
End With
Application.ScreenUpdating = True
End Sub