セル範囲内で最終行まで処理を行ったり、最終列の位置を調べることはよくあります。
その時に使える方法です。
最初は、xlDownとxlToRightを使えば良いと思ったのですが、途中で空白セルがあると、その手前の位置が返されてしまうので、セル範囲の最終位置ではないので、最終行や最終列から上、左という流れで取得します。
また、下記では調べる位置を10としていますが、通常は表の見出しや連番等の全て値が入っている行や列の位置を指定します。
また、変数に使う型は、Longが良いでしょう。
データが入っている行はintegerの範囲を超えることがよくあり、integerのままだとエラーになります。
Dim last_row as Long '最終行 Dim last_column as Long '最終列1 last_row = Cells(Rows.Count, 10).End(xlUp).Row last_column = Cells(10, Columns.Count).End(xlToLeft).Column msgbox "最終行 = " & last_row msgbox "最終列 = " & last_column