Excel VBA CurrentRegion で含まれている範囲が取得可能です ショートカットキー操作のShift+Ctrl+:(コロン)の範囲をVBAで取得できます
Dim objRANGE As Range '範囲を入れるRange型
Set objRANGE = ActiveCell.CurrentRegion 'アクティブセルを含む範囲を取得
VBA Excel 表 範囲 で検索すると
下記のわかりやすいページがヒットします
セル範囲の取得 セル範囲の取得
http://officetanaka.net/excel/vba/cell/cell10.htm
より
>
>ひとかたまりのセル範囲
>任意のセル.CurrentRegion
>
↑が取れるので、テストしてみます。
1.Address で取得した範囲、番地を表示してみた
https://www.youtube.com/watch?v=hXeZBlDIwyI
Sub CurrentRegion_test001() Dim objRANGE As Range '範囲を入れるRange型 Set objRANGE = ActiveCell.CurrentRegion 'アクティブセルを含む範囲を取得 '単純に↑でSET取得したRANGEに対して、Aaddressを表示してみた Debug.Print "ActiveCell.Addressは" & ActiveCell.Address Debug.Print "ActiveCell.CurrentRegion 取得範囲は:" & objRANGE.Address End Sub
2.おまけで 左上の先頭 Cells(1,1) と 右下 Cells(行,列) の値 .Valueを表示
https://youtu.be/hXeZBlDIwyI?t=168
Sub CurrentRegion_test002() Dim objRANGE As Range '範囲を入れるRange型 Dim x As Integer '列 Dim y As Integer '行 Set objRANGE = ActiveCell.CurrentRegion 'アクティブセルを含む範囲を取得 '単純に↑でSET取得したRANGEに対して、Aaddressを表示してみた Debug.Print "ActiveCell.Addressは" & ActiveCell.Address Debug.Print "ActiveCell.CurrentRegion 取得範囲は:" & objRANGE.Address '.Countで最終行、最終列を取得 y = objRANGE.Rows.Count x = objRANGE.Columns.Count Debug.Print "範囲の行数は" & y Debug.Print "範囲の列数は" & x Debug.Print '左上のセル Cells(1,1) , 範囲右下のセル cells(y,x) で表示 Debug.Print "左上始点:" & objRANGE.Cells(1, 1).Address Debug.Print "値は:" & objRANGE.Cells(1, 1).Value Debug.Print "" Debug.Print "右下終点:" & objRANGE.Cells(y, x).Address Debug.Print "値は:" & objRANGE.Cells(y, x).Value Debug.Print "" End Sub
3.終わりの挨拶
https://youtu.be/hXeZBlDIwyI?t=312
ショートカットキー操作のShift+Ctrl+:(コロン)の範囲
これと同等の範囲をVBAで取得したい、
そんな時は、
Set objRANGE = ActiveCell.CurrentRegion 'アクティブセルを含む範囲を取得
を使うといいよ、
そんなお話でした。
範囲処理時、何かの処理でつかえるといいなぁ。
ではまたぁ。。。。