マクロでアウトラインの開閉を行っている例を調べてみると ShowDetail
を使っているパターンが多かった。
Sub collapseExpand()
Columns(1).ShowDetail = Not Columns(1).ShowDetail
End Sub
これだと1回目はうまくいくのですが、連続して実行するとShowDetailの値が変わっておらずエラーになってしまいました。
じゃあどうするのか
発想を変えて「見えなくすれば良いのでは?」ということで Hidden
を使ってみました。
Sub collapseExpand()
Columns(1).Hidden = Not Columns(1).Hidden
End Sub
無事にアウトラインの開閉が連続で行えるようになりました。