[英]Excel VBA Replace Text with Two Arrays
我想使用數組替換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>)
你差點就吃了。 您可能會發現For ... Next的文檔很有幫助。
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
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.