• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:【Excel-マクロ】グループとアウトラインの設定をマクロで管理する方法)

Excelマクロでグループとアウトラインの設定を管理する方法

このQ&Aのポイント
  • Excelマクロについての質問です。グループとアウトラインの設定を使用して、あるシート上の列または行をグループ化し、展開されている状態か閉じられている状態か判断する方法を教えてください。
  • 質問の背景として、あるグループ化された列が表示されている場合、他のグループ化された行を表示する機能を実現したいと考えています。また、グループのアウトラインでこの機能が不可能な場合でも、単純な列または行の表示・非表示で同様の状態管理が可能であればその方法を教えてください。
  • Excelマクロを使用してグループとアウトラインの設定を管理する方法について教えてください。

質問者が選んだベストアンサー

  • ベストアンサー
  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.1

こんばんは。 >「展開されている状態か?(表示)」 >       なのか >「閉じられている状態か?(非表示)」 それは、至って単純な方法でしかないと思います。 以下は、列に対してトグルになります。 Sub TestShowLevel()   Dim i As Integer   Dim j As Integer   Dim r As Range Static k As Integer      On Error Resume Next   With ActiveSheet    '列の場合     Set r = Range("A1").CurrentRegion     '行に対して、表示しているセルの数を数え     i = r.Rows(1).SpecialCells(xlCellTypeVisible).Count     '実際のセルの数を数えます。     j = r.Rows(1).Cells.Count     'その差が出れば、列が折りたたまれているということです。     If j - i > 0 Then       k = k + 1     Else       k = 1     End If     .Outline.ShowLevels RowLevels:=0, ColumnLevels:=k   End With End Sub

maro1018
質問者

お礼

ありがとうございます。 何とかできそうです。