vba - 加快删除重复项

标签 vba excel

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

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

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

最佳答案

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

关于vba - 加快删除重复项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22075976/

相关文章:

vba - 更快的查找方法和过滤器位置比较?

excel - 删除字符串中的 Unicode 字符

vba - MsgBox () - 为什么它对一个参数有效,对多个参数无效?

vba - 字2007 : Macro to remove bullets from lists

excel - 根据另一个值和范围查找值

regex - Excel VBA 使用正则表达式查找和屏蔽 PAN 数据以实现 PCI DSS 合规性

excel - 使用 VBA 从 Excel 生成 VCard

VBA 列表框按索引选择工作表

excel - 从 range.formula 函数获取错误消息

excel - 如何从Excel VBA代码触发Access数据库表单中的点击