龙空技术网

【实际案例分享】Power Query+VBA来检查多文件数据的一致性

TABLE哥 178

前言:

当前大家对“vba 网络 多个 上传”大概比较着重,咱们都想要学习一些“vba 网络 多个 上传”的相关资讯。那么小编也在网络上汇集了一些有关“vba 网络 多个 上传””的相关内容,希望小伙伴们能喜欢,同学们一起来了解一下吧!

案例内容:有【本地台账】和【共享台账】两个Excel管理表,分别管理同一案件的进度信息,供两个不同组织的人查看。因为有些案件需要上传附件到Share Point,台账中还标记了哪些案件上传了附件。每天下午工作快结束的时候需要检查三方数据的一致性,如下图所示。

通过工具要解决的问题如下:

检查本地台账和共享台账同一完成日期的案件数一致SharePoint里完成日期下的文件和本地台账的附件上传记录一致SharePoint里完成日期下的文件和共享台账的附件上传记录一致

工具中的

工具效果如下图:本地,共享,SP三个Sheet页存放案件和附件文件目录信息,Summary页进行统计差异。

Power Query导入台账中案件信息和SharePoint文件目录

把本地台账和共享台账的案件信息,还有SharePoint上存放附件的文件夹作为Input导入到检查工具的三个Sheet页中。

Excel函数统计案件数和附件数

输入指定检查日期后执行工具就可以检查当天案件差异,不一致的话文字标红。

VBA实现数据刷新和差异显示【Data Refresh】按钮

虽然点击Excel的【全部刷新】也可以更新所有的数据链接,但是这里放置一个按钮会让工具整体性更强,代码通过录制后简单的修改即可。

ActiveWorkbook.RefreshAll

【Data Check】按钮

把各导入的三个数据中完成日期=指定日期的案件ID抽出。简单的For循环即可实现,代码略。

Difference

这个是一个半自动功能,手动选择想要检查的数据范围后,点击该按钮可以检出并标识重复项目,没有颜色的部分既是有差异的部分。代码可以通过录制条件格式中的重复值检查功能。

Selection.FormatConditions.AddUniqueValues

Selection.FormatConditions(Selection.FormatConditions.Count).SetFirstPriority

Selection.FormatConditions(1).DupeUnique = xlDuplicate

.....

差异检查按钮的效果图

大家可能会觉得VBA完全可以解决的问题,为什么用这样的方案,原因有如下两点:

降低代码的书写难度,VBA中的代码一部分使用的还是录制代码,让不太善于变成的人也能够完成自动化工具的制作。降低维护的难度,今后对于文件格式或者其他需求的变更,该工具开发者以外的人也能够较少的去维护代码,而是通过界面设置可以完成更多的事情。

谢谢大家的阅读,如果有不同意见或者更好的建议,可以通过评论来交流。

标签: #vba 网络 多个 上传