このサイト・インストラクターのネタ帳のアクセスログを眺めていて
「endプロパティを使った範囲設定」
という検索キーワードに気づきました。
RangeオブジェクトのEndプロパティを使って、
セル範囲を表すRangeオブジェクトを取得する、オブジェクトを取得・操作するコード(オブジェクト式)について調べていた方による検索でしょうか。
A1セルから下方向の終端セルまでのRangeを取得するサンプルマクロ
以下のSubプロシージャを実行すると、A1セルから下方向の終端セルまでのセル範囲を表すRangeオブジェクトを取得して、そのアドレスがメッセージボックスに表示されます。Dim rng As Range
Set rng = Range("A1", Range("A1").End(xlDown))
MsgBox rng.Address(False, False)
End Sub
Rangeプロパティの第1引数に、A1セルを指定するため文字列「A1」を、
Set rng = Range("A1", Range("A1").End(xlDown))
Rangeプロパティの第2引数に、A1セルの下方向の終端セルを表すRangeオブジェクトを取得するRange.Endプロパティの引数に下方向を表す定数・xlDownを指定したオブジェクト式を、
Set rng = Range("A1", Range("A1").End(xlDown))
それぞれ指定して、A1セルから、下方向の終端セルまでのRangeオブジェクトを取得しています。
このオブジェクト式を理解するには、そもそもRangeプロパティには引数を2つ指定することができ、
その2つの引数で指定されたセル範囲を表すRangeオブジェクトを取得できることをわかっていることが前提になります。
アクティブセルから下方向の終端セルまでのRangeを取得するサンプルマクロ
以下のSubプロシージャを実行すると、アクティブなセルから下方向の終端セルまでのセル範囲を表すRangeオブジェクトを取得して、そのアドレスがメッセージボックスに表示されます。Dim rng As Range
Set rng = Range(ActiveCell, ActiveCell.End(xlDown))
MsgBox rng.Address(False, False)
End Sub
Rangeプロパティの第1引数に、アクティブセルを表すRangeオブジェクトを取得するActiveCellプロパティを、
Set rng = Range(ActiveCell, ActiveCell.End(xlDown))
Rangeプロパティの第2引数には、アクティブセルの下方向の終端セルを表すRangeオブジェクトを取得するRange.Endプロパティの引数に下方向を表す定数・xlDownを指定したオブジェクト式を、
Set rng = Range(ActiveCell, ActiveCell.End(xlDown) )
それぞれ指定して、アクティブセルから下方向の終端セルまでのRangeオブジェクトを取得しています。
この式を理解するには、Rangeプロパティの2つの引数にはRangeオブジェクトを取得する式も指定できることをわかっていることが前提になります。
最終更新日時:2018-09-20 11:14
- Newer:次のページ数に合わせて印刷する設定をVBAで
- Older:VBAでシート名をヘッダーに
Home » Excel VBA Rangeオブジェクト » Endプロパティ » Endプロパティを使ってセル範囲を取得する