「range currentregion 行数」
「excel currentregionの行数だけ抜き取り」
といった検索で、このサイト・インストラクターのネタ帳へのアクセスが、ありました。
CurrentRegionプロパティで取得したRangeオブジェクトの行数を取得するVBAのコードを探している方による検索です。
CurrentRegionの行数を取得するサンプルマクロ
以下のようなコードで、アクティブなセルの、アクティブセル領域(CurrentRegion)の行数を取得できます。Dim cnt as Long
cnt = ActiveCell.CurrentRegion.Rows.Count
MsgBox cnt
End Sub
RangeオブジェクトのCurrentRegionプロパティは、アクティブセル領域を表すRangeオブジェクトを返します。
RangeオブジェクトのRowsプロパティを使うと、指定されたセル範囲の行を表すRangeオブジェクトを取得できます。
RangeオブジェクトのCountプロパティは、含まれる要素の数を返すプロパティなのですが、
Rowsプロパティで取得したRangeオブジェクトの場合は、行数を返してくれるので、
cnt = ActiveCell.CurrentRegion.Rows.Count
というコードで、アクティブセル領域の行数を取得できます。
Rows.Countの動きを確認しましょう。
「.Rows.Count」というオブジェクト式を使うと、アクティブセル領域に限らず、さまざまなセル範囲の行数を取得できることも、あわせて確認しておくことをおすすめします。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」がメッセージボックスに表示されます。
- Newer:Windows 10で拡大鏡のショートカットキーは?
- Older:フォントを一括変更するPowerPointマクロ
Home » Excel VBA Rangeオブジェクト » CurrentRegionプロパティ » CurrentRegionの行数を取得する-.Rows.Count