VBA Excel:如何在与旧文件比较时获取最新Excel文件中删除的行和添加的行

VBA Excel:如何在与旧文件比较时获取最新Excel文件中删除的行和添加的行,excel,data-comparison,vba,Excel,Data Comparison,Vba,我正在努力编写一个vba代码来获取最新excel文件中删除的行数据和添加的行数据,同时与旧excel文件进行比较 示例:最新工作簿(WB)有405行数据,旧工作簿(WB)有400行数据。系数为-可能在最新WB中添加了5行,或者可能在最新WB中删除了2行,添加了7行。如果已添加(行已添加到最新WB),则必须从最新WB获取已添加行数据;如果已删除(行已删除到最新WB),则必须从旧WB获取已删除行数据。请帮帮我。到目前为止你做了什么?你被困在哪里了?@MaciejLipinski我在谷歌上搜索过,但找

我正在努力编写一个vba代码来获取最新excel文件中删除的行数据和添加的行数据,同时与旧excel文件进行比较


示例:最新工作簿(WB)有405行数据,旧工作簿(WB)有400行数据。系数为-
可能在最新WB中添加了5行
,或者
可能在最新WB中删除了2行,添加了7行
。如果已添加(行已添加到最新WB),则必须从最新WB获取已添加行数据;如果已删除(行已删除到最新WB),则必须从旧WB获取已删除行数据。请帮帮我。

到目前为止你做了什么?你被困在哪里了?@MaciejLipinski我在谷歌上搜索过,但找不到编码中应该使用哪种公式。现在我仍然在第一行,你可以尝试使用嵌套循环。对于旧工作簿中的每一行,检查新工作簿中是否有相同的行。如果没有,就意味着它被删除了。然后再做同样的操作,但是让外循环遍历新工作簿,让内循环遍历外循环。不匹配的行是添加的行。这不是很有效,但对于400行就可以了。@MaciejLipinski在采用这种方法之前,您可能希望将记录加载到某个数组中,除非每次进行比较时您都有几分钟的空闲时间。您可能还希望添加一个唯一的键帮助器列,并检查该列,而不是所有行中的所有字段。如果是400行,当然,但当比较10K+行时,嵌套循环会出人意料。@RikSportel同意,我建议使用这种方法,因为它的实现并不复杂,而且它是OP的起点。一旦它可以运行,你可以按照你说的优化它。OP没有说明行比较的基础是什么,所以可能没有必要检查所有字段。