查找和替换翻译宏

时间:2020-03-23 21:31:27

标签: excel vba replace find

我正在尝试修改“查找和替换”宏,以根据范围翻译单词。我调出的两个范围是C列(汉字)和A列(英文翻译),并且每次运行以下代码时,我都会不断收到运行时错误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提取确切的单元格内容,以避免任何格式问题。

我定义的数组中没有空格。

我的问题是:

可以使用宏使用查找和替换来翻译吗?

可能是什么原因导致了错误?

0 个答案:

没有答案