【发布时间】:2018-06-25 02:32:48
【问题描述】:
表 1 有 400 列,数据行多达 10000 行,我想与表 2 进行比较,表 2 有 600 列意味着不同顺序的附加列。 将 sheet1 列数据与 sheet2 (作为不同的列顺序)进行比较,并突出显示工作表 2 中的差异,并在工作表 3 中突出显示不匹配的单元格,我是 VBA 新手,需要您的支持,
您可以在工作表 1 中突出显示任何一列作为主列
【问题讨论】:
表 1 有 400 列,数据行多达 10000 行,我想与表 2 进行比较,表 2 有 600 列意味着不同顺序的附加列。 将 sheet1 列数据与 sheet2 (作为不同的列顺序)进行比较,并突出显示工作表 2 中的差异,并在工作表 3 中突出显示不匹配的单元格,我是 VBA 新手,需要您的支持,
您可以在工作表 1 中突出显示任何一列作为主列
【问题讨论】:
与其希望有人会编写您的代码或从头开始教您,不如对如何使用 Excel 的内置工具进行一些研究来完成这项工作可能会更好。因此,我的答案是“不要使用 VBA” — 组织数据是 Excel 的意义所在, 还有很多你可能没有的内置功能知道。
首先,有Spreadsheet Compare(在某些版本中可用),它比较两个工作簿(或同一工作簿的两个版本)并帮助您查看和组织它们之间的差异。您还可以识别潜在问题,例如公式或计算的更改或手动输入的值。
也是内置的,请参阅Consolidate data in multiple worksheets,允许您将不同工作表中的结果汇总和报告到单个文档中。这些工作表可以在同一个工作簿中,也可以在其他工作簿中。当您整合数据时,您就是在组装数据,以便您可以根据需要更轻松地进行更新和汇总。
如果工作表之间的列顺序不同,并且给您(或内置工具)带来问题,那么一个简单的解决方法是在两个工作表上简单地sort the columns alphabetically。为此,您只需在排序选项中选择Left-to-Right。
我确定还有其他相关的features 我没有想到;查看您版本的ribbon 上可用的“所有”命令,看看是否还有其他您不知道的命令。
还有一些worksheet functions 也可以帮助处理这样的过程。具体哪些取决于您的需求(在不了解您当前组织方法的详细信息的情况下,其他人不可能提供建议)。
在我的脑海中,VLOOKUP、HLOOKUP、INDEX、MATCH、FIND、MID、LEFT 和 RIGHT 都可能对这项任务有益。 (而且,仍然不需要 VBA。)在官方 Categorized List of Excel Functions 上了解更多信息,并具体参见查找函数部分。
最后,有许多免费或付费的第三方插件专门用于比较和合并工作表。例如,这是 DiffEngineX 提供的比较功能的lengthy list。
对于 Excel 用户来说,手头有任务并假设有必要深入研究 VBA 是很常见的,而没有意识到 Excel 已经提供了他们需要的功能。根据经验,问问自己“这是独一无二的吗,还是以前有人可能需要做的事情?”在线某处的现有解决方案。
【讨论】: