Sub f() Dim ss1(100) As String, ss2(100) As String, ddd1 As String, ddd2 As String ddd1 ="1234567890abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ,./<>?;':""[]{}\|=-+_)(*%$#@!`~& " For i =0 To Len(ddd1) -1 ss1(i) = Mid(ddd1, i +1,1) Next i ddd2 ="1234567890abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ,./<>?;':""[]{}\|=-+_)(*%$#@!`~& " For i =0 To Len(ddd2) -1 ss2(i) = Mid(ddd2, i +1,1) Next i For i =0 To Len(ddd1) -1 Selection.Find.ClearFormatting Selection.Find.Replacement.ClearFormatting With Selection.Find .Text = ss1(i) .Replacement.Text = ss2(i) .Wrap = wdFindContinue End With Selection.Find.Execute Replace:=wdReplaceAll Next i End Sub