エクセルバージョン
マイクロソフト365
本日はVBAで行番号と行数が取得できるRowとRows.Countについてです。
それではいってみましょう!
Menu
Row(行番号)
概要
RangeオブジェクトのRowプロパティで指定範囲の最初の行番号の数値(Long)を返します。
Rowサンプル
A1セルの行番号
1 2 3 4 | Sub row_sample1() 'A1の行番号を取得 Debug.Print Range("A1").Row '【結果】1 End Sub |
B10セルの行番号
1 2 3 4 | Sub row_sample2() 'B10の行番号を取得 Debug.Print Range("B10").Row '【結果】10 End Sub |
A100~A1000セルの行番号
範囲の一番上の数値を取得します。
1 2 3 4 | Sub row_sample3() 'A100~A1000の行番号を取得(1番上の行番号) Debug.Print Range("A100:E1000").Row '【結果】100 End Sub |
A10セルの行番号(Cellsの場合)
RangeオブジェクトのCellsプロパティの使用例。
1 2 3 4 5 6 7 8 9 | Sub row_sample4() 'A10の行番号を取得 'CellsプロパティはRangeオブイジェクトを返します。 'RangeオブジェクトのRowプロパティで取得できます。 Debug.Print Range("A1").Cells(10, 1).Row '【結果】10 'Rangeオブジェクトの記述は省略できます。 Debug.Print Cells(10, 1).Row '【結果】10 End Sub |
現在選択中のセルの行番号(Selectionの場合)
ApplicationオブジェクトのSelectionプロパティの使用例。
A5セルが選択中だとしたら。
1 2 3 4 5 6 7 8 9 | Sub row_sample5() '現在選択しているセルの行番号(A5セルが選択されてたら) 'ApplicationオブジェクトのSelectionプロパティは選択セルのRangeオブジェクトを返します。 'RangeオブジェクトのRowプロパティで取得できます。 Debug.Print Application.Selection.Row '【結果】5 'Applicationオブジェクトの記述は省略できます。 Debug.Print Selection.Row '【結果】5 End Sub |
Rows.Count(行数)
概要
・RangeオブジェクトのRowsプロパティで指定範囲の行のRangeオブジェクトを返します。
・RowsプロパティはRangeオブジェクトを返すので、RangeオブジェクトのCountプロパティを使用すると行数が取得できます。
Rows.Countサンプル
A1セルの行数
1 2 3 4 | Sub rows_sample1() 'A1の行数を取得 Debug.Print Range("A1").Rows.Count '【結果】1 End Sub |
A1~A10セルの行数
1 2 3 4 | Sub rows_sample2() 'A1~A10の行数を取得 Debug.Print Range("A1:A10").Rows.Count '【結果】10 End Sub |
シートの全行数
1 2 3 4 | Sub rows_sample3() 'A列の全行数を取得 Debug.Print Range("A:A").Rows.Count '【結果】1048576 End Sub |
※バージョンによってシートの全行数が違います。
現在選択中の行数
ApplicationオブジェクトのSelectionプロパティを使用します。
例えばA1~A3セルを選択中だったら。
1 2 3 4 5 6 7 8 9 10 | Sub rows_sample4() '現在の選択範囲がA1~A3セルだったら。 'ApplicationオブジェクトのSelectionプロパティは選択セルのRangeオブジェクトを返します。 'RangeオブジェクトのCountプロパティで取得できます。 Debug.Print Application.Selection.Rows.Count '【結果】3 'Applicationオブジェクトの記述は省略できます。 Debug.Print Selection.Rows.Count '【結果】3 End Sub |
まとめ
最初にRangeとかCellsなどで範囲指定して!
. ←ピリオド入力後
行番号なら → Row
行数なら → Rows.count
だけなので簡単ですね(★‿★)
ついでに列番号と列数も簡単なので覚えちゃいましょう。
VBAで列番号(Column)と列数(Columns.Count)取得
以上です。
一番下の(最終行)行番号取得
一番下の行(最終行)の値を取得
行番号と行数や列番号と列数の取得
【VBA】列番号と列数(ColumnとColumns.Count)
関連記事
【PowerAutomate】エクセルの最終行番号を自動取得