値が含まれる最後のセルの取得
基準となるセルの位置から指定した方向へ移動させていき、値が含まれている最後のセルを取得することができます。例えば下の方向へセルを順次見ていき、空白のセルが現れる一つ前のセルを取得できます。ここでは Excel VBA で値が含まれる最後のセルを取得する方法を解説します。
(Last modified: )
値が含まれる最後のセルを取得する
取得するには基準の位置となるRangeオブジェクトに対して「End」プロパティを使います。
Dim range1 As Range Set range1 = Range("A1").End(xlDown)
「End」プロパティを参照するとRangeオブジェクトを取得できます。「End」プロパティの引数にどちらの方向へ調べるのかを指定します。指定できる値は以下の通りです。
定数 | 方向 |
---|---|
xlDown | 下方向 |
xlToRight | 右方向 |
xlToLeft | 左方向 |
xlUp | 上方向 |
例えば右方向にする指定は「xlToRight」を設定します。
サンプルプログラム
では簡単なサンプルで試してみましょう。
次のようなワークシートを用意します。
セルC3を基準として、下方向の最後のセルと右方向の最後のセルを取得してみます。
Sub テスト() Dim range1 As Range Set range1 = Range("C3").End(xlDown) range1.Value = "下端のセル" Set range1 = Range("C3").End(xlToRight) range1.Value = "右端のセル" End Sub
上記のマクロを実行すると次のようになります。
セルC6がセルC3から見て下方向の最後のセル、セルE3がセルC3からみて右方向の最後のセルとなります。
-- --
Excel VBA で値が含まれる最後のセルを取得する方法を解説しました。
( Written by Tatsuo Ikura )
著者 / TATSUO IKURA
これから IT 関連の知識を学ばれる方を対象に、色々な言語でのプログラミング方法や関連する技術、開発環境構築などに関する解説サイトを運営しています。