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【アウトライン】メソッドについての解説を終了します。ありがとうございます。

スポンサーリンク

関連記事・広告