【VBA】最終行を取得する

エクセルで、シートにあるデータの最終行を取得するVBAを紹介します。

このVBAは、超々々々!!!使用しています。というか、使用しないではいられません。

質問者

最終行の取得ってなんですか?

最終行の取得というのは、〇列目で、データが入力されている最後の行数を求めることをいいます。

例1.〇列目の1~100行までデータが入っている場合、その列の1行目にセルにカーソルを当て、 Ctrl を押すと連続したデータの一番下、つまり100行目にカーソルが移動します。最終行は100となります。

Sub 最終行の取得()

Dim e as Long

e = Worksheets(“sheet1”).Range(“A1”).End(xlDown).Row
’sheet1のA列においてA1から下へ向かってデータが入力されている最終行を求める

End sub

例1の場合、e = 100 となります。

ただしこの方法だと、データの途中に空白のセルが存在する場合、その空白セルでデータが終わりだと判断してしまいます。
Ctrl も同じです。

質問者

途中に空白のセル?

例えば次のような場合です。

例2.〇列目の1~60行、62行~100行にデータが入っている場合、その列の1行名にセルにカーソルを当て、 Ctrl を押すと空白のセルの一つ上、つまり60行目にカーソルが移動します。最終行は60となります。( e = 60 )

例2の場合、ほとんどは100という結果が欲しいはずですので、欲しい結果ではないことになります。

目次

データ内に空白のセルが存在する可能性がゼロでない場合の、最終行を取得するVBA

Sub 最終行の取得()

Dim e as Long

e = Worksheets(“sheet1”).Cells(Rows.Count, 1).End(xlUp).Row
’sheet1のA列においてA列の最終行から上へ向かってデータが入力されている最終行を求める

End sub

ちなみに最終列を求めるVBAはこちらです。

Sub 最終列取得()

Dim e as Long

e = Worksheets(“sheet1”).Range(“A1”).End(xlToRight).Column

End sub

最終行を取得するVBAの紹介でした。

この記事が気に入ったら
フォローしてね!

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

子育てに奮闘しながらも、再びガッツリ走り込める日を夢見るフルタイム会社員。

コメント

コメントする

CAPTCHA


目次