我制作了一个VBA宏,其目标是使用表中的一组项目对数据库进行多次查找和替换。我在每个循环中使用a来尝试迭代第一列中的每个单元格,但它只对第一列中的项执行查找和替换。
该表有两列,“替换什么”和“替换为”,所以我使用find和replace来查找第一列中的项目,并使用offset函数将其替换为下一列中的相应项目。
如何使这个循环起作用?
由于
这是我的代码:
Sub FindReplace()
Dim RepList As Range, RepItem As Range
Set RepList = Worksheets("Supply Replacement").Range("Table4[Replace What]")
For Each RepItem In RepList.Cells
Cells.replace What:=RepList.Value, Replacement:=RepList.Offset(0, 1).Value
Next RepItem
End Sub
答案 0 :(得分:0)
在你的循环中,你应该使用RepItem
,而不是RepList
:
Sub FindReplace()
Dim RepList As Range, RepItem As Range
Set RepList = Worksheets("Supply Replacement").Range("Table4[Replace What]")
For Each RepItem In RepList.Cells
Cells.replace What:=RepItem.Value, Replacement:=RepItem.Offset(0, 1).Value
Next RepItem
End Sub