Home > 即効テクニック > Excel VBA > セル操作関連のテクニック > 終端セルを参照する(Endプロパティ)

即効テクニック

セル操作関連のテクニック

終端セルを参照する(Endプロパティ)

(Excel 2000)
対象セル範囲の領域における終端の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