Home » ExcelVBA Rangeオブジェクト » CurrentRegionプロパティ » CurrentRegionの行数を取得する-.Rows.Count

CurrentRegionの行数を取得する-.Rows.Count

対象:Excel2007, Excel2010, Excel2013, Windows版Excel2016

「range currentregion 行数」
「excel currentregionの行数だけ抜き取り」
といった検索で、このサイト・インストラクターのネタ帳へのアクセスが、ありました。

CurrentRegionプロパティで取得したRangeオブジェクトの行数を取得するVBAのコードを探している方による検索です。

[スポンサードリンク]

CurrentRegionの行数を取得するサンプルマクロ

以下のようなコードで、アクティブなセルの、アクティブセル領域(CurrentRegion)の行数を取得できます。
Sub CurrentRegionの行数を取得する()
 Dim cnt as Long
 cnt = ActiveCell.CurrentRegion.Rows.Count
 MsgBox cnt
End Sub

RangeオブジェクトのCurrentRegionプロパティは、アクティブセル領域を表すRangeオブジェクトを返します。

CurrentRegionの行数を取得するVBAのコード

RangeオブジェクトのRowsプロパティを使うと、指定されたセル範囲の行を表すRangeオブジェクトを取得できます。

CurrentRegionの行数を取得するVBAのコード

RangeオブジェクトのCountプロパティは、含まれる要素の数を返すプロパティなのですが、

CurrentRegionの行数を取得するVBAのコード

Rowsプロパティで取得したRangeオブジェクトの場合は、行数を返してくれるので、
  cnt = ActiveCell.CurrentRegion.Rows.Count
というコードで、アクティブセル領域の行数を取得できます。

Rows.Countの動きを確認しましょう。

「.Rows.Count」というオブジェクト式を使うと、アクティブセル領域に限らず、さまざまなセル範囲の行数を取得できることも、あわせて確認しておくことをおすすめします。
Sub 行数を取得する()
 Dim cnt as Long
 cnt = Range("A1:E3").Rows.Count
 MsgBox cnt
End Sub

上記のマクロを実行すると、セル範囲A1:E3の行数「3」がメッセージボックスに表示されます。

上記のマクロの、
  cnt = Range("A1:E3").Rows.Count
の部分を例えば、
  cnt = Range("A2:E3").Rows.Count
にすれば、オブジェクト式「Range("A2:E3")」は、A2:E3という2行×5列のRangeオブジェクトを返してきますから、「2」がメッセージボックスに表示されます。

[スポンサードリンク]

Home » ExcelVBA Rangeオブジェクト » CurrentRegionプロパティ » CurrentRegionの行数を取得する-.Rows.Count

「CurrentRegionプロパティ」の記事一覧

検索


Copyright © インストラクターのネタ帳 All Rights Reserved.

.