参考元:【VBA】UsedRangeの範囲から最終行など取得【UsedRange.Rows.Countなど】
https://daitaideit.com/vba-usedrange/
ポイントとなるVBAコード
With ActiveSheet.UsedRange
.Select '使用しているセル範囲
'行
.Rows(1).Select '1行目
.Rows(.Rows.Count).Select '最終行
MsgBox .Rows(.Rows.Count).Row '最終行の行番号
'列
.Columns(1).Select '1列目
.Columns(.Columns.Count).Select '最終列
MsgBox .Columns(.Columns.Count).Column '最終列の列番号
End With
UsedRangeは書式の変更でも認識してしまう
書式変更や空白がある(Endをつかう)
Endを使って表のセル範囲を取得するVBAコードです。
Sub TEST11()
Dim A
'最終行を取得
A = Cells(Rows.Count, "B").End(xlUp).Row
'表のセル範囲を選択
Range(Range("B2"), Cells(A, "D")).Select
End Sub
実行結果: