C++ ⇒ VBA 書いて覚えるための初心者自己中記事

C++ ⇒ VBA 勉強の履歴を付けるというかノート代わりに使ってます

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

 

とっても便利!!