セル範囲の一番下のセルや一番右のセルを取得するには

Excel VBA Tips集-3

セル範囲の端っこのセルを取得する方法

上記のようなExcel画面において、例えばA列の一番下のセル(A10セル)を取得するには、
Range.Endプロパティを用います。

EndプロパティEnd(方向を表す定数)という書式で利用します。一番下を表す定数は、
xlDownです。

A列の一番下のセルを取得するサンプルコード

<実行結果>

Endプロパティには一番下のセルを求める定数だけではなく、任意のセルから見て、一番上のセル、一番左のセル、一番右のセルを表す定数を設定できます。下記にEndプロパティの定数の一覧表を記載いたします。

Endプロパティに設定できる定数名 定数の意味
xlDown 下方向
xlUp 上方向
xlToRight 右方向
xlToLeft 左方向

それでは下記のExcel画面を利用して一番上のセル、一番右のセル、一番左のセルを取得してみましょう。基準となるセルはB3とします。「営業部」という文字列が入っているセルですね。

B3セルを基準に一番上のセルを取得するサンプルコード

B3セルから見て表の一番上のセルですからB1セルが選択されます。

<実行結果画面>

B3セルを基準に一番右端のセルを取得するサンプルコード

B3セルから見て表の一番右端のセルですからC3セルが選択されますね。

<実行結果画面>

B3セルを基準に一番左端のセルを取得するサンプルコード

B3セルから見て一番左端のセルはA3セルですね。

A2セルを基準とし、表内のA2セルを含む行を範囲選択するサンプルコード

Rangeプロパティを用いて範囲選択を行う方法にRange(Range(“A2”), Range(“C2”))という風に、Rangeの中にさらにカンマで区切ったRangeを指定する方法があります。Range(Range(“A2”), Range(“C2”))は「A2:C2」の範囲を表しています。

この性質を利用すれば以下のようなサンプルコードを書くことができます。

色分けするとRange(Range(“A2”), Range(“A2”).End(xlToRight))という構造になっていることがわかりますね。

A2セル」から「A2セルの所属する行の右端のセル」までを選択しています。

Endプロパティを利用すればこのような応用的なVBAを書くこともできます。

<実行結果画面>

結果的に、表の2行目が選択されているのが分かりますね。

まとめ

このようにEndプロパティを利用すれば任意のセルから見た、一番上、一番下、右端、左端のセルを取得することができて便利です。

関連項目

 

使える!Excel VBA Tips集TOPに戻る

 

[AD]自分のペースでゆったり学ぶ Excel VBA

 

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA