Excel VBA セル範囲の最終行と最終列位置を取得する – VBA

セル範囲内で最終行まで処理を行ったり、最終列の位置を調べることはよくあります。
その時に使える方法です。
最初は、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

You may also like

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA


このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください