我来提供一个用 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 菜单栏的 三角箭头,运行宏,可以看到我们需要的效果了:
本文来自投稿,不代表天一生活立场,如若转载,请注明出处:http://tiyigo.com/it/13521.html