Thanks for your reply. With your work-around, the macro does two loops: a first loop where it finds all the sigmas but skips the regular ones and replaces only the final ones, then a second loop where it finds and replaces only the regular ones – which does achieve the required result with the macro in this form.
However, the macro in its full form (below) includes a prompt to enable the user to choose whether each match is replaced or skipped, and with your work-around, the user gets prompted twice for the regular sigmas, once in the first loop, and again in the second loop.
Sub Macro1()
Dim vFindText As Variant
Dim vReplaceText As Variant
Dim oRng As Range
Dim i As Integer
vFindText = Array(ChrW(962), ChrW(963))
vReplaceText = Array(-4010, -3981)
For i = 0 To UBound(vFindText)
Set oRng = ActiveDocument.Range
With oRng.Find
.Text = vFindText(i)
Do While .Execute
oRng.Select
lAsk = MsgBox("Replace Symbol", vbYesNoCancel)
If lAsk = 2 Then GoTo lbl_Exit
If lAsk = 6 Then
If AscW(Selection.Characters(1).Text) = AscW(.Text) Then
oRng.InsertSymbol Font:="Symbol", _
CharacterNumber:=vReplaceText(i), _
Unicode:=True
End If
End If
oRng.Collapse 0
Loop
End With
Next i
lbl_Exit:
End Sub
Is it possible to modify the work-around so that the user gets prompted only once for each match?