打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
ExcelVBA(16)–VBA按单击的标题列排序

这是基于昨天的 VBA 排序的进阶版:按鼠标单击的标题列位置,动态地排序。

案例:

我们还是用昨天这张表格来举例。

当鼠标单击 B1:E1 区域时,鼠标单击哪一列标题行,就自动按照该列从大到小的顺序排序。

方法:

1. 按 Alt F11 打开 VBE,输入以下代码:

Sub Worksheet_SelectionChange(ByVal Target As Range) '选择的单元格发生变化后就会触发Worksheet的SelectionChange事件

    Dim iColumn As Integer  '声明 iColumn 变量

    If Target.Column <= 5 And Target.Row = 1 Then  '如果列数<=5(即A到E列的区域),并且在第1行(即标题行,如果想点击该列的任何一行都实现排序效果,那么可以把 Target.Row = 1 去掉)

        If Target.Column <> iColumn Then '如果鼠标点击的列数不等于 iColumn,那么将点击数出赋值给 iColumn

            iColumn = Target.Column

        End If

            Range('A1:E9').CurrentRegion.Sort KEY1:=Cells(1, iColumn), ORDER1:=xlDescending, _

            Header:=xlYes  '在区域 A1:E9 内,按鼠标单击的第一行单元格降序排列

    End If

End Sub

2. 按下 F5,或点击 VBE 菜单栏的 三角箭头,运行宏,可以看到我们需要的效果了:

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
靠Excel为生的人分享一点Excel学习使用感受(9.4更新一些操作小技巧)
制作员工工资条的几种套路
单元格,你的理解和掌握,对学习Excel很重要
用Word制表时经常用到一些小技巧
自学资料(Excel VBA)[收集整理5]
excel数据很多,看着累眼怎么办?可以制作聚光灯,突出显示数据
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服