Excel VBA データがある行の最終行数を取得したいときに使える便利なUsedRange
Excel VBA で作業するときにちょくちょく必要になってくるのが
「データの最終行」だと思います。
[Ctrl + Down ] をしたことにするとか
Excelの最下段(100万行以上とか)に移動してから[Ctrl + Up ]するとかが
良くありますが、これだと列に依存するので汎用性のある機能として
VBAを書けません。
なので、現在データを使用しているエリアを四角形の選択範囲のように取得できる
UsedRangeが活用できます。
まずは、結果から。
ActiveSheet.UsedRange.Item(ActiveSheet.UsedRange.count).row
これで現在のシート上の最終行が取得できます。
分解して確認しましょう。
ActiveSheet.UsedRange.Item(ActiveSheet.UsedRange.count).row
① ② ③ ( ④ ) ⑤
①ActiveSheet
現在表示されているアクティブなシートで
②UsedRange
使用されている範囲の
③Item( )
1つずつのセルを任意で選択(数値で指定)
④ActiveSheet.UsedRange.count
③で指定するセルは、同じくアクティブシートの使用範囲内で最後のセルを指す数値
⑤row
④までで指定したセルの行番号
以上。
実際に使用する場合は変数に代入したりして使うと思います。何度も使うし長いので。
Dim rowNum as Long
rowNum = ActiveSheet.UsedRange.Item(ActiveSheet.UsedRange.count).row
とっても便利!!