vba - 将 sheet1 列 (400) 数据与 sheet2 列 (500) 匹配为不同的列顺序
问题描述
表 1 有 400 列,数据行多达 10000 行,我想与表 2 进行比较,表 2 有 600 列意味着不同顺序的附加列。将 sheet1 列数据与 sheet2 (作为不同的列顺序)进行比较,并突出显示工作表 2 中的差异,并在工作表 3 中突出显示不匹配的单元格,我是 VBA 新手,需要您的支持,
您可以在工作表 1 中突出显示任何一列作为主列
解决方案
与其希望有人会编写您的代码或从头开始教您,不如对如何使用 Excel 的内置工具进行一些研究来获得更好的运气。因此,我的回答是“不要使用 VBA” —— 组织数据是 Excel 的意义所在,并且有很多你可能不知道的内置功能。
首先,有电子表格比较(在某些版本中可用),它比较两个工作簿(或同一工作簿的两个版本)并帮助您查看和组织它们之间的差异。您还可以识别潜在问题,例如公式或计算的更改,或手动输入的值。
同样内置,请参阅在多个工作表中合并数据,允许您将不同工作表中的结果汇总和报告到单个文档中。这些工作表可以在同一个工作簿中,也可以在其他工作簿中。当您整合数据时,您可以组合数据,以便您可以根据需要更轻松地进行更新和汇总。
如果工作表之间的列顺序不同,并且给您(或内置工具)带来问题,那么一个简单的解决方法是简单地在两个工作表上按字母顺序对列进行排序。为此,您只需Left-to-Right
在“排序选项”中进行选择。
我敢肯定还有其他我没有想到的相关功能;查看您版本功能区上可用的“所有”命令,看看是否还有其他您不知道的命令。
还有许多工作表函数也可以帮助处理这样的过程。究竟哪些取决于您的需求(在不了解您当前组织方法的详细信息的情况下,其他人不可能提出建议)。
在我的脑海中,VLOOKUP
, HLOOKUP
, INDEX
, MATCH
, FIND
, MID
,LEFT
和RIGHT
都可能对这项任务有益。(而且,仍然不需要 VBA。)在Excel 函数的官方分类列表中了解更多信息,并具体参见查找函数部分。
最后,还有一些专门用于比较和合并工作表的免费或付费第三方加载项。例如,这里是DiffEngineX提供的比较功能的长列表。
Excel 用户手头有一项任务并假设有必要深入研究 VBA 是很常见的,而没有意识到 Excel 已经提供了他们需要的功能。根据经验,问问自己“这是独一无二的,还是以前有人可能需要做的事情?” 如果它不是唯一的,则很可能它已经内置,或者在线某处存在现有解决方案。
推荐阅读
- qt - 如何在 QML 5.14 中使用 Markdown 格式
- html - 将响应按钮放置在 TextArea 内
- javascript - ReactJS:如何传递字符串以用作函数名?
- android - 如何重新生成 android_gradle_build.json 以使我的 NDK 项目从 Gradle 构建?
- mongodb - 可以在 Mongo 中有效索引的列表的最佳方法
- python - pytorch nn.L1Loss 与 Sklearn 的 l1 损失 - 优化结果非常不同?
- javascript - 如何使用 socket.io 在与多个用户的会话中保留变量?
- android - android 应用程序中的泄漏:SmoothScroller 的一个实例被启动了不止一次
- c++ - Windows 后台服务(系统配置文件)无法使用 C++ 访问 win 10 上的用户 appData 文件夹?
- timestamp - 查找包含异常值的两个数据集之间的偏移量