我在Excel中编码了一个VBA脚本,其中将新数据添加到数据表中,以前的信息。在此之前,将新数据复制到临时数据表中。要防止重复,我创建了一个附加列并执行ID的VLOOKUP。如果新导入数据的ID已在具有旧数据的数据表中,则此行被标记为复制,并将被删除。然后将“未重复的行”复制到最终数据表中,其中存储所有数据。

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

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

有帮助吗?

解决方案

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

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top