対象セル範囲の領域における終端のRangeオブジェクトへの参照を返します。
言い換えれば、キーボードでの[Ctrl] + [方向キー] (←、→、↑、↓ のいずれか)
の操作で移動する先のセルへの参照です。どの方向への移動かは引数Direction
で指定します。
・Directionで指定する定数一覧
定数 値 内容 キーボード操作
xlToLeft -4159 左方向への移動 [Ctrl] + [←]
xlToRight -4161 右方法への移動 [Ctrl] + [→]
xlUp -4162 上方向への移動 [Ctrl] + [↑]
xlDown -4121 下方向への移動 [Ctrl] + [↓]
構文 Object.End(Direction) 取得のみ
設定項目 内容
Object Rangeオブジェクト
●サンプル1●
Sub EndSamp1()
'----セルA1から下方向の終端セルを選択
Range("A1").End(xlDown).Select
End Sub
セルA1から隙間無くデータの入力されたリストから、A列の最終行のセルを
選択するコードです。
●注意●
サンプルのデータでは、上端から下方向の終端セルを取得することで、最終行
のデータを特定することができますが、次のようなデータでは問題が発生します。
(1)項目名だけでデータが無い
(2)最終行のデータまでの間に空白行がある
(1)の場合は、ワークシートの最終行である65536行目のセルを参照してしまう
ため、「最終行+1行」(セルが存在しない)に新規データを追加するときにエラー
が発生します。
(2)の場合は、最終行ではないセルを参照してしまうため、新規データ追加時に、
既存データを上書きしてしまいます。
したがって次の「EndSamp2」のようなテクニックを使った方が、より汎用性の
高いコードとなるでしょう。
●サンプル2●
Sub EndSamp2()
'----A列の最終行から上方向の終端セルを選択
Range("A65536").End(xlUp).Select
End Sub
|