我來提供一個用 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 去掉)
iColumn = Target.Column
End If
Range("A1:E9").CurrentRegion.Sort KEY1:=Cells(1, iColumn), ORDER1:=xlDescending, _
Header:=xlYes "在區域 A1:E9 內,按滑鼠單擊的第一行單元格降序排列
End Sub
我來提供一個用 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 去掉)
iColumn = Target.Column
End If
Range("A1:E9").CurrentRegion.Sort KEY1:=Cells(1, iColumn), ORDER1:=xlDescending, _
Header:=xlYes "在區域 A1:E9 內,按滑鼠單擊的第一行單元格降序排列
End If
End Sub