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

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

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


SORT

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

在这里插入图片描述

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

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


常规操作分两步

  1. 降序销售额
  2. 降序时间

在这里插入图片描述

想让它自动排序的话,你得按以上步骤录制一段宏.然后你就可以看到类似于上面的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行代码

在这里插入图片描述


测试下运行效果

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


评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

但老师

要是看起来爽 求打赏一耳光

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值