Excelには、[End]キーを押すことで実行できるEndモードというものがあります。

Endモードに入ると、ステータスバーに「Endモード」と表示されます。



Endモード中に、矢印キーを押すと、データが入力されている範囲の終端へと移動させることができます。

例えば、以下のようにA1からE5までの範囲にデータが入力されていて かつ Endモードのときでみてみましょう。

アクティブなセルがC3のときに[→]を押すとC5セルに移動し、[←]を押すとC1に移動します。

同様に[↑]を押すとC1に、[↓]を押すとC5に移動します。

このように、Endモードを使用すると、アクティブなセルから見てデータの終端を簡単に取得することができます。

VBAでもRangeやCellsを使用して、データがある範囲の終端を取得することができますので、ここではその方法について説明をします。





01.終端セルに移動するには?

終端セルに移動させるにはRangeオブジェクトのEndプロパティを使用します。

Rangeオブジェクトというのは、ActiveCellやRange、Cellsによるセルの範囲を指します。

以下にEndプロパティに書式を示します。

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


Endプロパティの「方向」には、xlDirection列挙型の値を指定することができます。

表1.xlDirection列挙型
名前 説明
xlDown -4121 下端
xlToLeft -4159 左端
xlToRight -4161 右端
xlUp -4162 上端


以下に、Endプロパティを使用して、下端のセルを選択する例を示します。

    'C3セルの選択
Range("C3").Select

'下端のセルを選択
ActiveCell.End(xlDown).Select



02.終端のセルを行番号/列番号を取得するには?

終端のセルの取得も Endプロパティを使用します。

Endプロパティで終端のセルを取得したら、Rowプロパティで行番号を、Columnプロパティで列番号を取得することができます。

以下は、下端のセルをEndプロパティで取得し、行番号と列番号を表示する例です。

    'C3セルの選択
Range("C3").Select

'下端のセルの行番号を表示
MsgBox ActiveCell.End(xlDown).Row

'下端のセルの列番号を表示
MsgBox ActiveCell.End(xlDown).Column




Copyright © HIRO's.NET All Rights Reserved