我想使用数组替换 A:A 列中的值:
Dim aValueNew() As String
Dim aValueOld() As String
aValueNew = Split("ABC,DEF,GHI", ",")
aValueOld = Split("123,456,789", ",")
123需要替换为ABC,456需要替换为DEF等等。
最有效的方法是什么?我正在努力研究如何将替换功能包含在循环中,我们将不胜感激您的帮助。像这样的东西:
For i = 0 to i = 2
Range("A:A").Replace What:= aValueOld(i), Replacement:=aValueNew(i), LookAt:=xlWhole, SearchOrder:=xlByRows, MatchCase:=False
最佳答案
试试这个代码:
For i = 0 to UBound(aValueOld)
Columns("A:A").Select
Selection.Replace What:= aValueOld(i), Replacement:=aValueNew(i), LookAt:=xlWhole, SearchOrder:=xlByRows, MatchCase:=False
注意:
您的For
说法错误
如果值的计数是数组的边界,请使用 UBound(<Array Name>)
关于arrays - Excel VBA 用两个数组替换文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29139230/