Excel VBA アウトラインを自動作成する AutoOutlineメソッド

スポンサーリンク
スポンサーリンク

アウトラインを自動作成する方法

ワークシートの行や列に折り目をつけて
ワークシートの表の詳細部分を折りたためるようにする
機能をアウトラインといいます。

表の内容に合わせてワークシートにアウトラインを
自動作成するには、Rangeオブジェクトの
AutoOutline【オートアウトライン】メソッドを使用します。

AutoOutline【オートアウトライン】メソッド

AutoOutline【オートアウトライン】メソッドは
合計などの数式が設定されている表で、
数式の列や行を基準にして自動的にアウトラインを作成します。
折りたたんだときに、数式が設定された列や行が表示されるように
アウトラインが作成されます。

AutoOutline【オートアウトライン】メソッドの書式

オブジェクト.AutoOutline


設定値の説明

  • オブジェクト(必須)
    Rangeオブジェクトを指定します。
    単一セルを指定した場合はワークシート全体を対象にアウトラインを作成します。

表にアウトラインを作成するコード例

Sub アウトライン()
Range("A1").AutoOutline
End Sub

実行前

実行後

ShowLevels【ショウレベルズ】メソッド

アウトラインを作成すると
ワークシートにOutline【アウトライン】オブジェクトが作成されます。
アウトラインの折りたたみや展開は
Outlineオブジェクトの
ShowLevels【ショウレベルズ】メソッドを使用して操作します。
Outlineオブジェクトは
WorksheetのOutlineプロパティで取得できます。

ShowLevels【ショウレベルズ】メソッドの書式

[]内は省略可能です。
オブジェクト.ShowLevels( [RowLevels, ColumnLevels] )


設定値(引数)の説明

  • オブジェクト(必須)
    Outlineオブジェクトを指定します。
  • RowLevels【ロウレベルズ】(省略可)
    アウトラインで表示する行レベルを数値で指定します。
    アウトラインが設定されているレベル数より
    指定した数値が大きい場合はすべて展開されます。
    省略または0を指定すると、行に関しては変化はありません。
    レベルが小さい方が折りたたみ、大きい方が展開になります。
  • ColumnLevels【カラムレベルズ】(省略可)
    アウトラインで表示する列レベルを数値で指定します。
    アウトラインが設定されているレベル数より
    指定した数値が大きい場合はすべて展開されます。
    省略または0を指定すると、列に関しては変化はありません。
    レベルが小さい方が折りたたみ、大きい方が展開になります。

※引数RowLevelsと引数ColumnLevelsはどちらか一方は必ず指定してください。
両方とも指定しない場合はエラーになります。


表にアウトラインを作成し、折りたたみのレベルを設定したコード例

Sub アウトラインショウレベル()
Range("A1").AutoOutline
ActiveSheet.Outline.ShowLevels 2, 1
End Sub

実行前

実行後


ClearOutline【クリアアウトライン】メソッド

アウトラインを解除するには
Rangeオブジェクトの
ClearOutline【クリアアウトライン】メソッドを使用します。

ClearOutline【クリアアウトライン】メソッドの書式

オブジェクト.ClearOutline


設定値の説明

  • オブジェクト(必須)
    Rangeオブジェクトを指定します。
    単一セルを指定した場合はワークシート全体を対象にアウトラインを解除します。

アクティブシートにあるすべてのアウトラインを解除するコード例

Sub アウトライン解除()
Range("A1").ClearOutline
End Sub

以上で
アウトラインを自動作成する AutoOutlineメソッドに
ついての解説を終了します。
ありがとうございます。

スポンサーリンク
スポンサーリンク

フォローする

スポンサーリンク
スポンサーリンク