Excel VBA一行代码搞定分组排序

您所在的位置:网站首页 vba文本排序 Excel VBA一行代码搞定分组排序

Excel VBA一行代码搞定分组排序

2024-01-18 05:25| 来源: 网络整理| 查看: 265

最近很多小伙伴都被分组排序所困扰,Excel没有现成的分组排序功能,想要这功能基本都是靠录制宏.但是一旦录制宏,你就可以看到一长串不知道用不用得上,又不敢随便删除的代码

录制宏虽然好用,但是很容易有坑,例如你录制一个排序的宏,会是下面这样 在这里插入图片描述 我数了下,31行代码.各种选择,清除,新增,选择,清除,新增.还带上了一些默认设置.既然默认,那实际上是可以不用显示出来的呗

SORT

实际上只需要一个sort方法就可以代替这31行代码

在这里插入图片描述

数据如上,假设需求是这样的

时间从新到旧,销售额从大到小.也就是可以一眼看出每天的销售额排序

常规操作分两步

降序销售额降序时间

在这里插入图片描述

想让它自动排序的话,你得按以上步骤录制一段宏.然后你就可以看到类似于上面的31行代码.然鹅,实际1行代码就够了 在这里插入图片描述 如图所示的sort方法,可以看到最多可以设置3个字段并指定他们的升降序,其他的设置是例如:是否有标题,全半匹配blabla等辅助设置,不过基本上用不到.写完的整段代码如下

Sub Dan() Sheet3.Cells(2, 4).CurrentRegion.Sort key1:=Sheet3.Cells(2, 2), _ order1:=xlDescending, _ key2:=Sheet3.Cells(2, 4), _ order2:=xlDescending End Sub 为了便于观看,我加了3个换行,等价于下面1行代码

在这里插入图片描述

测试下运行效果

在这里插入图片描述 成功实现



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3