Предположим, у вас есть что-то вроде этого:
SpecialCharacters Sheet
\ | A | B
1 | à | a
2 | é | e
3 | ó | o
Вы можете использовать следующий метод для перебора всех строк специальных символов и замены вхождений на другом листе или в диапазоне.
Option Explicit
Sub ReplaceSpecialCharacters(ReplaceRange As Range)
Dim SpecialCharSheet As Worksheet
Dim replaceWhat As String
Dim replaceBy As String
Dim RowIndex As Long
Set SpecialCharSheet = Sheets("SpecialCharacters")
For RowIndex = 1 To SpecialCharSheet.UsedRange.Rows.Count
replaceWhat = SpecialCharSheet.Cells(RowIndex, 1).Value
replaceBy = SpecialCharSheet.Cells(RowIndex, 2).Value
ReplaceRange.Replace What:=replaceWhat, Replacement:=replaceBy, _
LookAt:=xlPart, SearchOrder:=xlByRows, MatchCase:=False, _
SearchFormat:=False, ReplaceFormat:=False
Next RowIndex
End Sub
Sub ReplaceSheet1()
' If using hard coded range
ReplaceSpecialCharacters Sheet1.Columns("A:AH")
' If using Selection
ReplaceSpecialCharacters Selection
End Sub