本アプリは、「範囲オプション」で、最終行を自動取得できます。
本アプリでの”最終行まで”の選択方法
本アプリは、表全体(CurrentRegion)から最終行を求めます。
作成されるコードは下記です。
Range("a2:f2").CurrentRegion.Select
右下セル = Cells(Selection.Row + Selection.Rows.Count - 1, Range("f2").Column).Address(False, False)
セル範囲 = "a2" & ":" & 右下セル
右下セルは下図のように計算しています。
途中に空白行がある場合
なお、データの途中に空白行がある場合、範囲オプションで”最終行まで(途中に空白があるとき※3に仮の最終セルを入力)”を選ぶことができます。
この項目を選ぶと、(右下セル)※3に入力したセルから上方向に最終行を探します。
この※3とは、下図の欄です。
この仮の最終セルは、データが入力できる最終行です。
作成されるコードは下記になります。
Range("g11").Select
Selection.End(xlUp).Select
右下セル = Selection.Address(False, False)
セル範囲 = "a1" & ":" & 右下セル
本アプリが、表全体(CurrentRegion)から最終行を求める理由
通常であれば、マクロの作成者は、どの列に最終行があるかわかります。
しかし、汎用の本アプリは、最終行のある列が不明なので、表全体から最終行を取得しています。