当鼠标单击B1:E1区域时,鼠标单击哪一列标题行,就自动按照该列从大到小的顺序排序。
方法:
1.按Alt+F11打开VBE,输入以下代码:
SubWorksheet_SelectionChange(ByValTargetAsRange)’选择的单元格发生变化后就会触发Worksheet的SelectionChange事件
DimiColumnAsInteger’声明iColumn变量
IfTarget.Column<=5AndTarget.Row=1Then’如果列数<=5(即A到E列的区域),并且在第1行(即标题行,如果想点击该列的任何一行都实现排序效果,那么可以把Target.Row=1去掉)
IfTarget.Column<>iColumnThen’如果鼠标点击的列数不等于iColumn,那么将点击数出赋值给iColumn
iColumn=Target.Column
EndIf
Range(“A1:E9”).CurrentRegion.SortKEY1:=Cells(1,iColumn),ORDER1:=xlDescending,_
Header:=xlYes’在区域A1:E9内,按鼠标单击的第一行单元格降序排列
EndIf
EndSub
2.按下F5,或点击VBE菜单栏的三角箭头,运行宏,可以看到大家需要的效果了: