加快删除重复项

时间:2014-02-27 17:32:19

标签: excel vba excel-vba

我在Excel中编写了一个VBA脚本,它将新数据添加到带有先前信息的数据表中。在此之前,新数据将被复制到临时数据表中。为了防止重复,我创建了一个额外的列并执行了一个IDOOK的VLOOKUP。如果新导入数据中的ID已存在于包含旧数据的数据表中,则此行将标记为已复制并将被删除。然后将“非重复行”复制到最终的数据表中,其中存储所有数据。

现在我在VLOOKUP中使用列引用(A:A),我不知道这是否是VBA脚本每天需要更多资源和时间运行的原因。当我第一次编码时,我进行了测试,原始数据表中的行数不超过4,000行,导入数据中的行数不超过4,000行。宏在90秒后完成。现在,它需要超过5分钟,带数据的数据表只有40,000行,而新数据总是大约4,000行。

我是否应该动态引用VLOOKUP中的范围而不是使用A:A,或者它在速度方面无关紧要?

1 个答案:

答案 0 :(得分:1)

正如我的评论中提到的,使用VBA确实有一种方法可以完成这项任务,但有时最简单的解决方案是最好的。我建议每次添加所有40K记录,并使用包含您唯一值的列在“数据”功能区下使用“删除重复项”功能。