Excel VBA用两个数组replace文本

我想用数组replace列A中的值:

Dim aValueNew() As String Dim aValueOld() As String aValueNew = Split("ABC,DEF,GHI", ",") aValueOld = Split("123,456,789", ",") 

123需要由ABC取代,456由DEF等取代。

什么是最有效的方法呢? 我正在努力如何在循环中包括replacefunction,你的帮助将不胜感激。 就像是:

 For i = 0 to i = 2 Range("A:A").Replace What:= aValueOld(i), Replacement:=aValueNew(i), LookAt:=xlWhole, SearchOrder:=xlByRows, MatchCase:=False 

你几乎已经有了。 您可能会findFor …下一个有用的文档 。

 Dim i As Long For i = 0 To 2 Range("A:A").Replace What:=aValueOld(i), Replacement:=aValueNew(i), _ LookAt:=xlWhole, SearchOrder:=xlByRows, MatchCase:=False Next 

试试这个代码:

 For i = 0 to UBound(aValueOld) Columns("A:A").Select Selection.Replace What:= aValueOld(i), Replacement:=aValueNew(i), LookAt:=xlWhole, SearchOrder:=xlByRows, MatchCase:=False 

注意:
你的陈述是错误的
如果值的数量是数组的边界,使用UBound(<Array Name>)