Найти и заменить макрос для переводов - PullRequest
0 голосов
/ 24 марта 2020

Я пытаюсь изменить макрос Find and Replace, чтобы перевести слова на основе диапазонов. Два диапазона, которые я вызываю, - это столбец C (китайские иероглифы) и столбец A (переводы на английский язык sh), и я получаю сообщение об ошибке времени выполнения 9 каждый раз, когда запускаю следующий код:

Sub Translate()

Dim sht As Worksheet
Dim fndList As Variant
Dim rplcList As Variant
Dim x As Long

fndList = Sheets("Translation Sheet").Range("C3:C267").Value2
rplcList = Sheets("Translation Sheet").Range("A3:A267").Value2

'Loop through each item in Array lists
  For x = LBound(fndList) To UBound(fndList)
    'Loop through each worksheet in ActiveWorkbook
      For Each sht In ActiveWorkbook.Worksheets
        sht.Cells.Replace What:=fndList(x), Replacement:=rplcList(x), _
          LookAt:=xlPart, SearchOrder:=xlByRows, MatchCase:=False, _
          SearchFormat:=False, ReplaceFormat:=False
      Next sht

  Next x

End Sub

Когда я открываю отладчик, стрелка указывает на строку кода SearchFormat:=False, ReplaceFormat:=False.

Чтобы ответить на несколько вопросов, которые могут возникнуть:

Лист «Лист перевода» находится на книгу, которую я пытаюсь перевести, и книгу, в которой находится макрос.

Я использовал .Value2, чтобы получить точное содержимое ячейки, чтобы избежать проблем с форматированием.

В пробелах нет пробелов Массивы, которые я определил.

Мои вопросы:

Можно ли использовать макрос для перевода с использованием поиска и замены?

В чем может быть проблема, которая вызывает ошибку?

...