- 帖子
- 5923
- 主題
- 13
- 精華
- 1
- 積分
- 5986
- 點名
- 0
- 作業系統
- win10
- 軟體版本
- Office 2010
- 閱讀權限
- 150
- 性別
- 男
- 來自
- 台灣基隆
- 註冊時間
- 2010-5-1
- 最後登錄
- 2022-1-23
        
|
本帖最後由 GBKEE 於 2012-8-30 14:36 編輯
回復 1# myleoyes - Private Sub Worksheet_SelectionChange(ByVal Target As Range)
- Application.EnableEvents = False
- If Target(1).Row = 2 Then '在第2列
- Select Case Target(1).Column
- Case 1
- With ActiveWindow '移除視窗分割
- .SplitColumn = 0
- .SplitRow = 0
- End With
- Cells.EntireColumn.Hidden = True
- [A1:F1].Cells.EntireColumn.Hidden = False
- [A1].Select
- Case 2 To 5 'B2:E2
- 隱藏 Target(1)
- End Select
- End If
- Application.EnableEvents = True
- End Sub
- Sub 隱藏(xLRng As Range)
- Dim Rng As Range, xF As Range
- Set Rng = Range("A2, F2" )
- Cells.EntireColumn.Hidden = False
- Set xF = Rows(2).Find(xLRng, LOOKAT:=xlPart, LookIn:=xlValues) '尋找
- Do
- Set Rng = Union(Rng, xF)
- Set xF = Rows(2).FindNext(xF)
- Loop While xLRng.Address <> xF.Address '一直到是第一尋找到的位置
- Cells.EntireColumn.Hidden = True
- Rng.EntireColumn.Hidden = False
- Rng.Select
- With ActiveWindow
- .SplitColumn = 6
- .SplitRow = 2
- .FreezePanes = True
- End With
- End Sub
複製代碼 |
|