- 帖子
- 522
- 主題
- 36
- 精華
- 1
- 積分
- 603
- 點名
- 0
- 作業系統
- win xp sp3
- 軟體版本
- Office 2003
- 閱讀權限
- 50
- 性別
- 男
- 註冊時間
- 2012-12-13
- 最後登錄
- 2021-7-11
|
2#
發表於 2017-2-28 12:25
| 只看該作者
回復 1# ipip207
試試看
最上面插入一列
由左至右依序填入 ByDate,Show,Hide,Jan,Feb, Mar, ...,Dec- Private Sub Worksheet_selectionChange(ByVal Target As Range)
- Dim Col%, LstR%, Rng As Range
- Col = Target.Column
- If Col > 15 Then Exit Sub
- LstR = [A65536].End(xlUp).Row
- Set Rng = Range([A2], Cells(LstR, 15)) '全部排序範圍
- If Target.Row > 1 Then Exit Sub
- If Col = 1 Then 'Sort byDate xlAscending(恢復原狀)
- Rng.Sort _
- Key1:=Range("A2"), Order1:=xlAscending, _
- Header:=xlYes
- ElseIf Col = 2 Then
- Cells.EntireRow.Hidden = False
- ElseIf Col = 3 Then
- For I = 3 To LstR
- If Cells(I, 3).Value > 2 Then
- Cells(I, 3).EntireRow.Hidden = True
- End If
- Next
- Else
- Set Rng = Range([A2], Cells(LstR, 15)) '全部排序範圍, 6代表"F"
- Rng.Sort _
- Key1:=Cells(2, Col), Order1:=xlDescending, _
- Header:=xlYes
- End If
- End Sub
複製代碼
|
|