参考元:【VBA】表全体の範囲を取得する【CurrentRegionが便利です】
https://daitaideit.com/vba-currentregion/
ポイントとなるVBAコード
'CurrentRegionでセル範囲を取得
With Range("A1").CurrentRegion
.Select '表の範囲を選択
.Rows(1).Select '表の1行目を選択
.Columns(1).Select '表の1列目を選択
.Rows(.Rows.Count).Select '表の最終行を選択
.Columns(.Columns.Count).Select '表の最終列を選択
.Rows(2 & ":" & .Rows.Count).Select '表の値のみを選択
MsgBox .Rows(.Rows.Count).Row '表の最終行の行番号を取得
MsgBox .Columns(.Columns.Count).Column '表の最終列の列番号を取得
End With
'空白行がある場合の代替案(UsedRangeを使う)
ActiveSheet.UsedRange.Select
'空白行がある場合の代替案(Endを使う)
Dim A
'最終行を取得
A = Cells(Rows.Count, "A").End(xlUp).Row
'表のセル範囲を取得
Range(Range("A1"), Cells(A, "C")).Select