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

ExcelVBA 统计出现次数与筛选后对可见单元格的操控

2023-10-07 12:30 作者:孙兴华zz  | 我要投稿

网友提问:

网友的意思是有一列数字

如果展开是这样的

想统计一下每个数字出现的次数

然后取次数最大的N个数,如果次数重复,假设取2个数,其中1、8、9都是5次,那就取这3个数中最大的2个数 8和9


以这样的规律取5个数


回答网友问题:

遇到不会的问题,要从最简单最容易的事情做起

有多少个工作簿,多少个工作表都没有关系,只要会处理一个,后面遍历工作簿和工作表又有何难?如果一个表都不会做,那咱们可以问,可以交流。如果会做一个表,不会批量应用到多表或多个工作簿,学过的小伙伴都知道,这种情况一定是没学过。

如下图所示,A列有一位数字,我们想在D和E列统计每个数字出现的次数

现在换成网友的案例数据,我们将A列连成字符串

我们也可能将每个数字遍历出来

现在把我们第一个写的代码代入进来,你的第一个需求就实现了

做到这一步就已经解决了99%了

接下来我们要对红框处得到的数据进行筛选和排序

我们再筛选出现次数排名前5的

然后在结果中,先对数字列做降序,再对出现次数列做降序

其中我们要的结果 就是红框内的数字

只是我们需要 18976 这样的顺序

然后我们需要给可见单元格前5行的数字改颜色

然后按颜色筛选

得到结果

然后再对数字列升序,出现次数列降序就是我们要的结果了

把我们上面说的这些步骤写成代码



然后,你在 shishi3里call shishi4 也行   ,想写一块也行

有了  shishi3 和  shishi4  这个问题就解决了。

返回结果:

做好的文件已经上传评论区,可以下载研究


对没学过的小伙伴友情提示:先运行模块1里面的shishi3  再运行模块2里面的shishi4

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

ExcelVBA 统计出现次数与筛选后对可见单元格的操控的评论 (共 条)

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