結論から伝えると、VBAでグループ化をするためには、

Group、Ungroup

この2つを記載するだけで良いだけです。

具体的には、3-10の行をグループ化するには、

Sub Macro1()

  Rows("3:10").Rows.Group

  Rows("3:10").Rows.Ungroup

End Sub

上記のように記載する感じです。

 

非表示にしておくことで、データをすっきりと、ユーザーに必要な箇所だけに

することができます。

 

しかし、

個人的な経験では、非表示にしているセルの値を計算に利用する場合に、

Excel関数であれば問題なく作動できるものの、

VBAで利用する場合に、エラーになってしまいます。

また、findメソッドで値を検索する場合にもエラーが表示されるため、

VBAで操作する場合には、グループ化を一度表示するマクロを記載しなければなりません。

 

ShowLevelsメソッド

 

このメソッドを利用することでグループ化したものを表示、非表示にすることができます。