Excel VBA – 最終行の取得 その2
はじめに
前回紹介した、最終行の取得方法だと
以下の画像のように、歯抜けでデータが入力されている場合は
対応することができません。
歯抜けの時の最終行取得
歯抜けでデータを入力する可能性がある場合の
最終行の取得方法は以下のサンプルプログラムで対応出来ます。
'メイン Sub main() '最終行の取得 MsgBox "最終行は" & getMaxRow & "です。" End Sub '最終行の取得 Function getMaxRow() As Long Dim maxRow As Long '最終行の取得 maxRow = Sheets("Sheet1").Cells(Rows.Count, 1).End(xlUp).Row '戻り値 getMaxRow = maxRow End Function
これは、イメージとしては、
一番下の行からキーボードで「CTRL + ↑」を入力して
一番最初にぶつかった入力行の行数を取得するイメージです。
さいごに
当サンプルの欠点は、
下記の画像の様に
データ行の下に、注記などを入れた場合、上手く行数が取得できなくなります。
画像の例だと、注記の行数が取得されてしまいます。
なので、最終行を取得する項目の下には何も入力しないなど、
ルールを定めるようにしてください。
─────────────── ★
中小企業診断士 かとう
専門は、IT活用による業務改善です。
★───────────────