欢迎光临散文网 会员登陆 & 注册

ExcelVBA SQL+ADO同样可以操作当前工作簿的工作表

2023-10-28 17:14 作者:孙兴华zz  | 我要投稿

网友提问:

图片放大

回答网友问题:

我跟大家说过,字典在绝大多数情况下可以被代替。这个问题同样不需要字典

但是,大家注意几个细节。

(1)你原始表,不能是打开一个工作簿,写上一点数据,不保存就操作。您需要把当前工作簿先保存到硬盘上再打开。

(2)每一次操作时,他默认是指定表所有有数据的区域。如果你第2次再运行,E1:G6 被你写了数据,会影响你的结果。但是可以解决。稍后讲

先准备数据,从硬盘上打开这个工作簿

写VBA代码(先把代码放出来,思路在后面)

运行结果

如果想指定A1至C9这个区域,只需要将SQL语句中的 [孙兴华$] 改成  [孙兴华$A1:A9] 

如果行不能确定,我们可以找A1单元格的连续区域最大行,方法在ExcelVBA中讲了很多

最后拼接字符串就可以了。

下面讲一下SQL语句思路(方法不唯一)

我们原始表

我们对所有列去重

对时间和班别分组并计数

现在我们得到了上面两个SQL语句,第2个语句中的去重就是第1个SQL语句

ExcelVBV:https://www.bilibili.com/video/BV1rt4y1a72y

SQL:https://www.bilibili.com/video/BV1Dk4y1d71j

ExcelVBA SQL+ADO同样可以操作当前工作簿的工作表的评论 (共 条)

分享到微博请遵守国家法律