Excel VBAで最終行・最終列を取得する:xlDown, xlToRight

Excel で入力されているデータの最終行や最終列を取得したい場合は、「Ctrl + →」あるいは「Ctrl + ↓」のように入力します。VBA では同じ動作を End プロパティを使うことで行うことができます。

End プロパティの使い方

End プロパティの構文は以下の通りです。

End プロパティは指定した方向にあるセルの Range オブジェクトを返します。引数の方向には以下の表の値を指定します。

方向 説明
xlUp 上端の行:Ctrl + ↑
xlToLeft 左端の列:Ctrl + ←
xlToRight 右端の列:Ctrl + →
xlDown 下端の行:Ctrl + ↓

表にある通り最終行、最終列だけでなく、上端と左端のセルを取得することもできます。

今回は以下の Excel データに対する例を見ていきます。

vba_end1

最終行を取得する 

以下は A1 から最終行を取得し選択する例です。

この場合、A1 を選択した状態から Ctrl + ↓ を入力した場合と同じ結果になります。

 vba_end3

最終列を取得する

以下は A1 から最終列を取得し選択する例です。

この場合、A1 を選択した状態から Ctrl + → を入力した場合と同じ結果になります。

 vba_end2

間に空白のセルがある場合 

以下のデータのように空白がある場合を見てみましょう。

vba_end4

以下はこのデータの最終行を選択する例です。

空白のセルがある場合も同様に Ctrl と矢印キーを押したときと同じ動作となり、空白の上あるいは空白の左までのセルが返されます。

vba_end5


Welcome to UX MILK

UX MILKはより良いサービスやプロダクトを作りたい人のためのメディアです。

このサイトについて