Excel VBAで領域の終端セルが取得できるEndプロパティを使ってみる

Endプロパテで取得できる結果は、キーボードの[Endキー]+[矢印キー(↑↓→←)]を押した結果と同じです。空白セルがあると思っているのと違う結果になるので、色々と試してみます。入力されている最終セル方法も掲載しています。

≪構文≫

Rangeオブジェクト.End(方向を表す下の定数)



Homeに戻る > Excel セルのTipsへ

Endプロパティを空白セルから開始した場合

空白のB2セルから、xlDownで下端の終端セルを取得し表示するVBAです。
xlDownで下端の終端セルを取得し表示するVBA

Sub MyEnd()
    Dim sr As String
    
    sr = Range("B2").End(xlDown).Address
    MsgBox sr
End Sub

空白セルの次に入力されているB3セルが返りました。
空白セルの次に入力されているB3セルが返りました

Endプロパティを入力されているセルから開始した場合

入力済みのB3セルから、xlDownで下端の終端セルを取得し表示するVBAです。
xlDownで下端の終端セルを取得し表示するVBA

Sub MyEnd()
    Dim sr As String
    
    sr = Range("B3").End(xlDown).Address
    MsgBox sr
End Sub

連続して入力されている終端のB14セルが返りました。
連続して入力されている終端のB14セルが返りました

Endプロパティを入力済みセルから次が空白セルで開始した場合

入力済みのC2セルから、xlDownで下端の終端セルを取得し表示するVBAです。
xlDownで下端の終端セルを取得し表示するVBA

Sub MyEnd()
    Dim sr As String
    
    sr = Range("C2").End(xlDown).Address
    MsgBox sr
End Sub

空白セルの次に入力されているC4セルが返りました。
E2セルから実行した場合は、E5セルが返ります。
空白セルの次に入力されているC4セルが返りました



Endプロパティで右方向の終端セル取得する

xlToRightを使用し、右方向の終端セルを取得するVBAです。
右方向の終端セルを取得するVBA

Sub MyEnd()
    Dim sr As String
    
    sr = Range("B3").End(xlToRight).Address
    MsgBox sr
End Sub

xlDownの結果と同じで、空白セルの次に入力されているD3セルが返りました。
空白セルの次に入力されているD3セルが返りました

Endプロパティで入力されている最終セル取得する

空白セルを無視して、入力されている最終セルを求めるには、最下行からxlUpを使用し上方向に調べれば取得できます。

Excel2013の最下行は1048576行なので、そこから上に調べるVBAです。
入力されている最終セル取得するVBA

Sub MyEnd()
    Dim sr As String
    
    sr = Range("C1048576").End(xlUp).Address
    MsgBox sr
End Sub

C列の最後に入力されているのはC13セルと表示されました。
C列の最後に入力されているのはC13セルと表示された


Homeに戻る > Excel セルのTipsへ

■■■
このサイトの内容を利用して発生した、いかなる問題にも一切責任は負いませんのでご了承下さい
■■■
当ホームページに掲載されているあらゆる内容の無許可転載・転用を禁止します


Copyright (c) Excel-Excel ! All rights reserved