値が含まれる最後のセルの取得

基準となるセルの位置から指定した方向へ移動させていき、値が含まれている最後のセルを取得することができます。例えば下の方向へセルを順次見ていき、空白のセルが現れる一つ前のセルを取得できます。ここでは Excel VBA で値が含まれる最後のセルを取得する方法を解説します。

(2022 年 06 月 14 日公開 / 2022 年 06 月 14 日更新)

値が含まれる最後のセルを取得する

取得するには基準の位置となるRangeオブジェクトに対して「End」プロパティを使います。

Dim range1 As Range

Set range1 = Range("A1").End(xlDown)

「End」プロパティを参照するとRangeオブジェクトを取得できます。「End」プロパティの引数にどちらの方向へ調べるのかを指定します。指定できる値は以下の通りです。

定数方向
xlDown下方向
xlToRight右方向
xlToLeft左方向
xlUp上方向

例えば右方向にする指定は「xlToRight」を設定します。

サンプルプログラム

では簡単なサンプルで試してみましょう。

次のようなワークシートを用意します。

Endプロパティ

セルC3を基準として、下方向の最後のセルと右方向の最後のセルを取得してみます。

Sub テスト()

    Dim range1 As Range

    Set range1 = Range("C3").End(xlDown)
    range1.Value = "下端のセル"

    Set range1 = Range("C3").End(xlToRight)
    range1.Value = "右端のセル"

End Sub

上記のマクロを実行すると次のようになります。

Endプロパティ

セルC6がセルC3から見て下方向の最後のセル、セルE3がセルC3からみて右方向の最後のセルとなります。

-- --

Excel VBA で値が含まれる最後のセルを取得する方法を解説しました。

( Written by Tatsuo Ikura )

広告
Profile
profile_img

著者 / TATSUO IKURA

初心者~中級者の方を対象としたプログラミング方法や開発環境の構築の解説を行うサイトの運営を行っています。