arrays - Excel VBA 用两个数组替换文本

标签 arrays string excel vba replace

我想使用数组替换 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/

相关文章:

将二维数组转换为 C 中的灰度图像

python - 维护Python中输入和输出之间的顺序

javascript - 将表导出为 CSV - 将字符串格式问题导出到单独的单元格中

vba - 调试 VBA 中的空格

arrays - awk 中的算术运算符无效

计算和打印矩阵对角线的总和

java - 读取和遍历 JSON 文件

string - 字符串常量是否被高估了?

c++ - 字符串数组的二进制搜索和额外功能

excel - 选择包含文本而非公式的列中的所有单元格