指定した列の入力されている最終行を取得するマクロを作成します。
途中に空白セルがある場合でも無視されます。
最終セルに入力したい場面はよくあるので、よく使うマクロです。
列の入力されている最終行を取得するマクロ
VBA入力画面
入力したコードです。
Sub My列の入力最終行()
Dim lnb As Long
Dim lnc As Long
Range("B65536").Select
lnb = Selection.End(xlUp).Row
Range("C65536").Select
lnc = Selection.End(xlUp).Row
Range("A1").Select
MsgBox "B列の入力最終行:" & lnb & vbCrLf & "C列の入力最終行:" & lnc
End Sub
プログラムの説明
Subプロシージャの宣言
Sub My列の入力最終行()
変数を宣言
Dim lnb As Long
Dim lnc As Long
B65536セルを選択
Range("B65536").Select
上方向で最終行を取得
lnb = Selection.End(xlUp).Row
C65536セルを選択
Range("C65536").Select
上方向で最終行を取得
lnc = Selection.End(xlUp).Row
A1セルを選択
Range("A1").Select
結果をMsgBoxで表示 vbCrLf で改行されます
MsgBox "B列の入力最終行:" & lnb & vbCrLf & "C列の入力最終行:" & lnc
プロシージャの終了
End Sub
列の入力されている最終行を取得するマクロの実行画面
B列は15行目、C列は13行目が最終行なので「B列の入力最終行:15、C列の入力最終行:13」と表示されました。
3行目に空白行を挿入し、正しく取得できるかテストします。1行増えたので「B列の入力最終行:16、C列の入力最終行:14」と正確に取得できました。
Excelマクロのサンプルファイル:
フリーダウンロード
Copyright (C) excel.usefulhp.com All rights reserved.