簡體   English   中英

Excel VBA用兩個數組替換文本

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM