VB.NET, C#, PowerShellを使用しているエンジニアのためのサイト。
基本的な使用方法から開発で役立つTipsまで幅広く取り扱っています。
Update 2018/12/09
< Prev Tips
Next Tips>
Excelには、[End]キーを押すことで実行できるEndモードというものがあります。
Endモードに入ると、ステータスバーに「Endモード」と表示されます。
Endモード中に、矢印キーを押すと、データが入力されている範囲の終端へと移動させることができます。
例えば、以下のようにA1からE5までの範囲にデータが入力されていて かつ Endモードのときでみてみましょう。
アクティブなセルがC3のときに[→]を押すとC5セルに移動し、[←]を押すとC1に移動します。
同様に[↑]を押すとC1に、[↓]を押すとC5に移動します。
このように、Endモードを使用すると、アクティブなセルから見てデータの終端を簡単に取得することができます。
VBAでもRangeやCellsを使用して、データがある範囲の終端を取得することができますので、ここではその方法について説明をします。
終端セルに移動させるには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
終端のセルの取得も Endプロパティを使用します。
Endプロパティで終端のセルを取得したら、Rowプロパティで行番号を、Columnプロパティで列番号を取得することができます。
以下は、下端のセルをEndプロパティで取得し、行番号と列番号を表示する例です。
'C3セルの選択
Range("C3").Select
'下端のセルの行番号を表示
MsgBox ActiveCell.End(xlDown).Row
'下端のセルの列番号を表示
MsgBox ActiveCell.End(xlDown).Column