[Excel VBA] 用 VBA 控制 Group Column 收合/展開

最近有個需求,是要將 Excel 群組的欄位,在打開檔案時,依時間自動展開該季的欄位,並將其他季的欄位位縮合


網路上查到的,多半是用 Outline.ShowLevels
但這個主要是當有群組階層時,可以針對哪一個階層設定展開或收合,並不是我要用的

就寫一個Sub Routine,依季的時間,傳入 Range Column 將該區間的欄位收合或展開

Public Sub GroupColumnCollapse(oSheet As Worksheet, s As String, e As String, collapse As Boolean)
  If oSheet.Range(s & "1:" & e & "1").EntireColumn.Hidden Then 
    oSheet.Range(s & "1:" & e & "1").EntireColumn.Hidden = collapse
  End If
End Sub

用到的是 Range EntireColumn.Hidden 這個屬性來控制

張貼留言