It looks like you want to replace all the non-latin characters wherever they occur in the <a href="idea">→ idea</a> string. In that case, it would be easier to replace them before or when creating that string. You could do that with a macro like:
Sub Demo()
Application.ScreenUpdating = False
Dim i As Long, strTmp As String
Const strFnd As String = "áéíó"
Const strRep As String = "aeio"
With ActiveDocument.Range
With .Find
.ClearFormatting
.Replacement.ClearFormatting
.Text = ChrW(&H2192) & "*>"
.Replacement.Text = ""
.Forward = True
.Wrap = wdFindStop
.Format = False
.MatchWildcards = True
.Execute
End With
Do While .Find.Found
strTmp = LCase(Split(.Text, ChrW(&H2192))(1))
For i = 1 To Len(strFnd)
strTmp = Replace(strTmp, Mid(strFnd, i, 1), Mid(strRep, i, 1))
Next
.Text = "<a href=" & Chr(34) & strTmp & Chr(34) & ">" & ChrW(&H2192) & strTmp & "</a>"
.Collapse wdCollapseEnd
.Find.Execute
Loop
End With
Application.ScreenUpdating = True
End Sub
You'll notice two lines:
Const strFnd As String = "áéíó"
Const strRep As String = "aeio"
These hold the non-latin characters you want to replace and their latin equivalents, respectively. You can add more to those lists - just make sure there's a 1:1 correspondence between them. You probably need only use lower-case characters.