Endプロパティのいろいろな使い方(データの端の取得)

「処理するセルは何行目の何列目」と決まっていれば、RangeやCellsが使えます。しかし、「サイズがわからない表の、とにかく一番下に挿入」などの処理は、RangeやCellsだけでは対応できません。何行目が「一番下」なのかが状況によって変化するとき、「領域の端」を調べるのに便利なのがEndです。

目次

入力したデータを表の最後にコピーする

Sub A2に入力されたレコードを最下行に追加()
    Range("B2:D2").Copy Range("B5").End(xlDown).Offset(1)
End Sub

・Endプロパティ → 領域の端のセルを取得する

書式:Rangeオブジェクト. End(方向)

解説:方向で指定した方向の、対象領域内での端のセルを返します。

方向定数
xlUp-4162
xlDown-4121
xlToLeft-4159
xlToRight-4161

関連知識

Endプロパティを駆使すれば、さまざまなセル範囲を取得することができます。まず次の例は、データがあるアクティブセルに続く一番右端の値をMsgBoxで表示します。

MsgBox ActiveCell.End(xlToRight).Value

次の例は、セル「C2」とセル「D1」に続く最下端のセルで囲まれたセル範囲を選択します。

Range("C2",  Range("D1"). End(xlDown)). Select

次の例は、領域の最下行を削除します。

ActiveCell. End(xlDown). EntireRow. Delete

次の例は、アクティブセルと同じ列で、領域の一番上のさらに1つ上の行に「タイトル」と入力します。

ActiveCell. End(xlUp). Offset(-1). Value ="タイトル"
よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

コメント

コメントする

目次