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

ExcelVBA 解决筛选、分组、去重、记数

2022-11-27 15:48 作者:孙兴华zz  | 我要投稿

网友提问:

这个网友的问题刚刚在PowerQuery里回复过

https://www.bilibili.com/read/cv20064690

ExcelVBA第三季我证明了,PowerQuery可以在大多数案例中很简单的代替字典。

而且去重这件事情ExcelVBA也有相关方法可以代替字典

看完ExcelVBA第二三季,你会有不一样的认知

如果您想练习字典的写法,可以参考下面一位ExcelHome版主的写法

https://www.bilibili.com/video/BV1uY4y1q77n

我孙兴华是全网出了名的偷懒,还记得我经常说的一句话吗?

高手一小时写一个运行1秒中的代码,孙兴华3分钟写一个运行几分钟的代码。

(时间只是个比喻,我写代码重在快速解决问题,而不是研究代码运行速度,因为工作性质不同,我是给自己用,不是卖软件,我解决问题大多是从自己笔记上直接复制粘贴后修改一下就搞定了,我每隔几年就花钱升级一次电脑,要的就是它处理数据的速度,如果都让我用大脑处理,我升级电脑做什么?)


以下步骤每一步都是在上一步的基础上添加代码:

第一步:筛选

ExcelVBA第三季第16课讲的

筛选第3列大于0的


运行后返回:

我们将这个结果复制到一个新工作表中

第二步:判断工作表是否存在不存在就创建,并复制

ExcelVBA第二季第9课

我们需要复制到一个新的工作表中,比如这个工作表名叫孙兴华,那么我们需要判断一下,如果孙兴华这张工作表不存在,我们就创建,否则就不创建

ExcelVBA第三季第6课学习的判断工作表是否存在

ExcelVBA第二季第4课学的创建工作表

于是我们可以写成:

返回结果:

第三步:去重(避开字典嵌套)

我知道字典嵌套可以实现,但是那写起来麻烦,我讲起来也不容易,我ExcelVBA第三季讲了删除重复,ExcelVBA第17回,这个功能可以在这里代替字典嵌套

于是我们写成:

返回:

现在你用数据透视表就可以搞定了

第四步:如果想全部使用代码处理

ExcelVBA第三季第22集

先呼叫透视表,做出结果复制,选择粘贴到sheet1,删除孙兴华那张表

所使用的代码在我课程中均有出处,以下是完整代码,运行Sub shishi()这个过程

返回结果:

本文章配套课件已经发到评论区了

ExcelVBA教程:https://www.bilibili.com/video/BV1rt4y1a72y

更多教程:https://www.bilibili.com/read/cv10222110

ExcelVBA 解决筛选、分组、去重、记数的评论 (共 条)

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