更新日:、 作成日:
VBA 行番号や行数を取得する
はじめに
Excel VBA マクロで行番号や行数を取得する方法を紹介します。
Range("A2").Row メソッドから、セル「A2」の行番号を取得できます。
Range.Rows.Count プロパティから、セルの範囲の行数を取得できます。
Range.Row + Range.Rows.Count - 1 から、セルの範囲の最終行番号を取得できます。
行番号から行を取得するには「行を取得する」をご覧ください。
列番号を取得するには「列番号または列名を取得する」をご覧ください。
行番号を取得する
Range の引数にセル名を指定すると、そのセルの行番号を取得できます。
セル「A1」の行番号を取得するには Range("A1").Row を入力します。
Dim l As Long
l = Range("A1").Row ' 1
l = Range("A3").Row ' 3
Debug.Print(l)
アクティブセル
アクティブセルの行番号を取得するには ActiveCell を入力します。
Dim l As Long
l = ActiveCell.Row
Debug.Print(l)
アクティブセルとは、フォーカスがあるセルのことです。
選択セル
選択しているセルの行番号を取得するには Selection を入力します。範囲選択しているときは、一番上の行番号を取得します。
Dim l As Long
l = Selection.Row
Debug.Print(l)
スポンサーリンク
セルの範囲の行番号や行数を取得する
セルの範囲「B2」~「D4」の行番号を取得するには Range("B2:D4").Row を入力します。その範囲の一番上の行番号を取得します。
行数を取得するには Range("B2:D4").Rows.Count を入力します。
Dim l As Long
l = Range("B2:D4").Row ' 2
l = Range("B2:D4").Rows.Count ' 3
Debug.Print(l)
最終行番号を取得する
セルの範囲「B2」~「D4」の最終行番号を取得するには Range.Row + Range.Rows.Count - 1 または Range.Rows(Range.Rows.Count).Row のように入力します。
Dim c As Range
Set c = Range("B2:D4")
Dim l As Long
l = c.Row + c.Rows.Count - 1 ' 4
l = c.Rows(c.Rows.Count).Row ' 4
Debug.Print(l)
Range.CurrentRegion や UsedRange を使用して、データの範囲やシート全体の最終行番号を取得できます。
詳しくは「最終行を取得する」をご覧ください。