Digital_Neko

フリーランスプログラマー

VBA 最終行の求め方

Excel-VBAでデータを操作するのに、データの最終行を求めるのは最初に頭を悩ませる所だと思います。ここで、

Cells(1,1).End(XlDown).Row

とやりたくなります。このやり方でも最終行には到達できるのですが、データが途中で抜けていた場合そこで止まり最終行が取得できません。そこで下記の方法を私は使います。

LastSheet=ActiveSheet.Rows.Count
Cells(LastSheet , 1).End(xlUp).Row

シートの最終行を求めて、最終行から1行目に向かうように、データがある場所を特定します。この方法だとデータが途中で欠損していても最終行を特定できます。
何回も最終行を求めるマクロの場合など、部品化して使えるようにしておくととても便利です。