【问题标题】:Delete duplicates between two sheets "Case Sensitive"删除两张“区分大小写”的工作表之间的重复项
【发布时间】:2013-03-04 23:22:04
【问题描述】:

我想在 excel 中比较两张表,如果 vba 发现重复,它将删除它们。 我已经搜索了一段时间,终于在这里找到了我想要的东西。 "How do I delete duplicates between two excel sheets quickly vba"

但就我而言,这对我不起作用。因为这个脚本认为 abc 和 AbC 是重复的。 那么无论如何要修改脚本,以便所有字母都区分大小写。

【问题讨论】:

    标签: excel vba


    【解决方案1】:

    更改字典的 CompareMode。详细信息请看这里:http://msdn.microsoft.com/en-us/library/a14xez73(v=vs.84).aspx

    Dim dict As Object
    Set dict = CreateObject("Scripting.Dictionary")
    ' add this line:
    dict.CompareMode = BinaryCompare
    

    【讨论】:

    • 我们是在谈论 Daniel Cook 接受的答案中的代码吗? Sub CleanDupes() ... 从 2012 年 12 月 2 日 1:55 开始?
    • 好的,现在我面临新问题。在我尝试了带有示例数据的新脚本之后,它运行良好。但是当我在 sheet1 加载大约 200000 的原始数据和在 sheet2 加载大约 900000 的原始数据时,它仍然运行到现在,似乎需要很长时间才能完成。有什么方法可以加快这个过程?
    • @user2132188 查看UsedRangeApplication.ScreenUpdating 属性。
    • 您是否认为将 CompareMode 设置为 BinaryCompare 会使代码运行速度变慢?您是否也使用 TextCompare 检查了速度?
    • @user2132188 接受这个答案并提交一个与性能相关的新问题是公平的:顺便说一下,Excel 的 900k 行是一个极端情况!
    猜你喜欢
    • 2023-02-02
    • 1970-01-01
    • 2021-04-25
    • 2021-09-14
    • 2022-07-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多