【问题标题】:Comparing two tables of different size, with multiple columns in VBA比较两个不同大小的表,在 VBA 中有多个列
【发布时间】:2021-11-07 22:35:32
【问题描述】:

希望使用 VBA 比较两个表,每个表有三列。这里是初学者,非常迷茫。

它们可能有不同数量的条目,表 A 中可能有一些不在表 B 中,反之亦然

某些单独的列可能匹配,但试图找出如何确保将所有三列作为一列与另一个表中的所有三列进行比较

例如

如果与 XYZ123 54.55 12/07/21 相比,xyz123 55.50 12/07/21 将显示为不匹配,因为中间列是不同的数字。

下面附上一张图片。在大多数情况下,与照片不同的是,每个表的顺序都是完全随机的,表 1 的第 1 行中不太可能与表 2 的第 1 行有相同的条目

理想情况下,我正在尝试在原始表的右侧创建两个新表,第一个是表 1 具有的条目,而表 2 没有。第二个是表 2 有的条目,表 1 没有。

在下面附上了我正在寻找的最终结果的示例。左边的四行是第一个表有但第二个表没有的条目,右边的行是第二个表有但第一个表没有的所有条目。

我已尝试对此进行搜索,但没有找到与我所拥有的匹配的内容,并且我正在努力使其他人的代码适应我的特定问题

对此的任何帮助将不胜感激

【问题讨论】:

    标签: excel vba list-comparison


    【解决方案1】:

    也许不能直接回答您的问题,但这些数据是否也在某个数据库中,或者您是否熟悉 Access 女士?正如您可以在 Access 中打开表一样,使用数据库执行此类操作非常容易。 如果不是,那么是的,它可以使用 VBA。有很多方法。 最简单的方法是一次在一个表中滚动一行,然后将其与另一个表中的每一行进行比较,然后判断是否匹配。这适用于小型表,并且简单快捷,但对于大型数据表,这将是浪费并且可能需要很长时间才能完成。

    【讨论】:

    • 您好 Perfo,感谢您的回复 不,不在数据库中,此信息通过电子邮件发送给我们,通常采用各种格式。我们的想法是像上面的问题一样手动将其复制并粘贴到表格中,然后自动化匹配过程。这些表很少超过 70 个条目,所以不太关心这个的效率。目前有人正在手动执行此操作,所以一切都会更好。
    • 好的,因此一次简单地通过一行可能是可以实现的,并且是您入门的最简单方法。您需要哪些方面的帮助?我并不是要冒犯你的编码技能,但你能打开 VBA 编辑器并为下一个循环之类的代码吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-07-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多