首先,我们还是先来看看VBA的部分,不用担心看不懂,都知道我一般出保姆级教程,基本稍微改改都能通用! 使用VBA处理的思路比较简单,只要把文件夹中的每个Excel文件打开,然后在A列找到我们需要的关键词“合计”,找到后,使用offset方法偏移到结果的I列即可得到结果! VBA的部分我们就聊这么多,下面我们来聊聊如何使用SQL处理,使用SQL,我们也不需要打开Excel文件,也算是一种不错的手段 SQL也分两种,一种直接利用数据获取部分的直接写SQL语句,第二种使用ADO对象处理,核心就是写SQL语句,这里我们使用比较简单的【现有连接】的方式处理依次点击【数据】-【现有连接】-【浏览更多】,选择任意一个Excel文件,确定 第三步,对应的浏览操作,选择任意一个待提取的Excel文件,点击确定 出来的结果是一个表,我们依次点击【表设计】-【刷新】-【连接属性】-【定义】,在【命令文件】中写SQL具体要怎么写SQL呢?如果只有一个表,我们可以这样来写select 金额 from [Sheet1$] where 销售日期='合计' 但是我们要查询多个Excel文件,所以表名的位置需要处理一下,还需要把结果合并起来![Excel文件夹全路径.xlsx].[表名称$]
[C:\Users\xst\Desktop\20220216-PQ按条件抽取数据\Data\仁果类.xlsx].[Sheet1$] 多个查询结果如何合并,可以使用 UNION ALL 语句如果你的文件太多,可以考虑使用VBA批量生成上面的SQL语句!关于ADO对象处理,核心还是SQL语句,大家了解一下ADO链接Excel参数,懂VBA的同学自然就OK了![Excel 12.0;hdr=YES;Database=文件全路径] 注意不是data source,不要和链接字符串搞混了!公众号没有提供上传附件的功能,文本含有源码附件已上传知识星球,请各位会员朋友及时下载,练习!
|