VBA - 使用数组查找和替换多个值

时间:2021-01-29 14:02:59

标签: arrays excel vba replace

下面的代码返回“运行时错误09” 此代码应该在工作表中查找和替换多个值(使用 fnd - rplc 删除括号、替换单词等)。要查找的值列表填充在另一个工作表“数组”中 要替换的值列表填充在另一个工作表“数组”中 我希望此代码从 E 列向下检查存储在表 Array 中的所有值(此列表可以调整)检查这些值是否填充在工作表“控制面板”中,并用“Array”列 F 向下的值替换它们。

对于下面的代码,我确实应用了“数组”范围,但仍然返回错误。有机会运行它并使数组列表灵活,因此我可以轻松添加“查找”和“替换”值

Sub Multi_Find_Replace()

Dim sht As Worksheet
Dim fndList As Variant
Dim rplcList As Variant
Dim x As Long
Dim fndTable As Range
Dim rplcTable As Range

Set sht = Sheets("Control Panel")
Set fndTable = ThisWorkbook.Sheets("Array").Range("E2:E10")
Set rplcTable = ThisWorkbook.Sheets("Array").Range("F2:F10")

fndList = fndTable
rplcList = rplcTable

  For x = LBound(fndList) To UBound(fndList)
  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

0 个答案:

没有答案
相关问题