「Excel VBA RangeクラスのOutlineLevelプロパティを取得できません とは」
といった検索が行われていました。
Excel VBAで、アウトラインレベルを取得しようとした方による検索でしょう。
「RangeクラスのOutlineLevelプロパティを取得できません。」エラーの発生するサンプルマクロ
まず、どのようなときにこの実行時エラーになるかを確認しましょう。
以下のExcelマクロで、
「RangeクラスのOutlineLevelプロパティを取得できません。」
実行時エラーが発生します。
MsgBox ActiveCell.OutlineLevel
End Sub
RangeオブジェクトのOutlineLevelプロパティを取得するだけのコードですが、
実行時エラーが発生してしまいます。
「RangeクラスのOutlineLevelプロパティを取得できません。」エラーの発生原因と回避方法
先ほどのマクロは、以下のように修正すれば実行時エラーが発生しなくなり、行のアウトラインレベルがメッセージボックスに表示されます。
MsgBox ActiveCell.EntireRow.OutlineLevel
End Sub
Rangeオブジェクトは、Excel VBAでもっともよく使われるオブジェクトですが、実は難易度の高いオブジェクトでもあります。
その原因の1つが、行全体や列全体を表すオブジェクトも、単独のセルを表すオブジェクトも、どちらもRangeであることです。
OutlineLevelプロパティは、行全体や列全体を表すRangeの場合に使えますが、単独のセルを表すRangeでは使えないのです。
行全体を表すRangeを取得するRange.EntireRowプロパティや、列全体を取得するRange.EntireColumnプロパティなどを使えば、
「RangeクラスのOutlineLevelプロパティを取得できません。」
エラーは発生しなくなります。
最終更新日時:2024-11-12 13:55」
- Newer:Excel VBAでWord文書に名前を付けて保存する
- Older:Excel関数を使って郵便番号にハイフンを入れる
Home » Excel VBA Rangeオブジェクト » 行・列を表すRange » RangeクラスのOutlineLevelプロパティを取得できません。とは