Home » ExcelVBA Rangeオブジェクト » Endプロパティ » Endプロパティを使ってセル範囲を取得する

Endプロパティを使ってセル範囲を取得する

対象:Excel2007, Excel2010, Excel2013, Windows版Excel2016

このサイト・インストラクターのネタ帳のアクセスログを眺めていて
「endプロパティを使った範囲設定」
という検索キーワードに気づきました。

RangeオブジェクトのEndプロパティを使って、

Endプロパティを使ってセル範囲を取得する

セル範囲を表すRangeオブジェクトを取得する、オブジェクトを取得・操作するコード(オブジェクト式)について調べていた方による検索でしょうか。

[スポンサードリンク]

A1セルから下方向の終端セルまでのRangeを取得するサンプルマクロ

以下のSubプロシージャを実行すると、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つ指定することができ、

Endプロパティを使ってセル範囲を取得する

その2つの引数で指定されたセル範囲を表すRangeオブジェクトを取得できることをわかっていることが前提になります。

アクティブセルから下方向の終端セルまでのRangeを取得するサンプルマクロ

以下のSubプロシージャを実行すると、アクティブなセルから下方向の終端セルまでのセル範囲を表す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オブジェクトを取得する式も指定できることをわかっていることが前提になります。

関連語句
VBA, Visual Basic for Applications

最終更新日時:2018-09-20 11:14

[スポンサードリンク]

Home » ExcelVBA Rangeオブジェクト » Endプロパティ » Endプロパティを使ってセル範囲を取得する

Copyright © インストラクターのネタ帳 All Rights Reserved.

.