增强excel多重查找和替换脚本

时间:2015-08-31 12:13:22

标签: excel-vba vba excel

我正在使用以下代码来查找和替换Sheet1中存在的单词列表(对于FIND单词的ColA和对于REPLACE单词的ColB,在Sheet2的A:H范围内)。它执行工作但速度很慢。可以修改此脚本以更快地运行吗?

{{1}}

感谢对此问题的任何帮助。

1 个答案:

答案 0 :(得分:2)

你能否通过一个带有if语句的数组而不是“查找/替换”函数来完成整个工作?

例如,如果arr1是一个二维数组,其中您的查找值在arr1(i,1)中,并且替换在arr1(i,2)中,您可以通过比较您范围内的值来快速循环arr2的范围。

sub replacement()

dim arr1(), arr2() as variant
dim i,j,k,m as long

arr1=Range("A2:B")
arr2=Range("...") 'the values you want to compare and replace

for i=1 to num 'dimension of the 1st array
    for j=1 to num2 'dimension of 2nd array
         for k=1 to num3 '2nd dimension of arr2
              if arr2(j,k)=arr1(i,1) then
                   arr2(j,k)=arr1(i,2)
         next
    next
next

然后将数组发布到你想要的最后范围。