Endプロパティを空白セルから開始した場合
空白のB2セルから、xlDownで下端の終端セルを取得し表示するVBAです。
Sub MyEnd()
Dim sr As String
sr = Range("B2").End(xlDown).Address
MsgBox sr
End Sub
空白セルの次に入力されているB3セルが返りました。
Endプロパティを入力されているセルから開始した場合
入力済みのB3セルから、xlDownで下端の終端セルを取得し表示するVBAです。
Sub MyEnd()
Dim sr As String
sr = Range("B3").End(xlDown).Address
MsgBox sr
End Sub
連続して入力されている終端のB14セルが返りました。
Endプロパティを入力済みセルから次が空白セルで開始した場合
入力済みのC2セルから、xlDownで下端の終端セルを取得し表示するVBAです。
Sub MyEnd()
Dim sr As String
sr = Range("C2").End(xlDown).Address
MsgBox sr
End Sub
空白セルの次に入力されているC4セルが返りました。
E2セルから実行した場合は、E5セルが返ります。
Endプロパティで右方向の終端セル取得する
xlToRightを使用し、右方向の終端セルを取得するVBAです。
Sub MyEnd()
Dim sr As String
sr = Range("B3").End(xlToRight).Address
MsgBox sr
End Sub
xlDownの結果と同じで、空白セルの次に入力されているD3セルが返りました。
Endプロパティで入力されている最終セル取得する
空白セルを無視して、入力されている最終セルを求めるには、最下行からxlUpを使用し上方向に調べれば取得できます。
Excel2013の最下行は1048576行なので、そこから上に調べるVBAです。
Sub MyEnd()
Dim sr As String
sr = Range("C1048576").End(xlUp).Address
MsgBox sr
End Sub
C列の最後に入力されているのはC13セルと表示されました。