
先日Selectメソッドについて解説しました。
【Excel VBA】指定したセル範囲やワークシートを選択するSelectメソッド | Excelを制する者は人生を制す ~No Excel No Life~
このSelectメソッドと組み合わせて対象オブジェクトが含まれる表全体を選択できるものとしてCurrentRegionプロパティがあります。
ちなみに読み方はCurrentRegion(カレントリージョン)です。
今回は表全体を選択するCurrentRegionプロパティについてまとめていきます。
CurrentRegionプロパティの基本構文
Rangeオブジェクト.CurrentRegion
Rangeオブジェクト
CurrentRegionプロパティを指定するRangeオブジェクトを指定します。
参照したい表の中にあるセルならどれでもOKです。
オブジェクトに関しては下記記事をご参照ください。
Excelのオブジェクトの基礎知識まとめ | Excelを制する者は人生を制す ~No Excel No Life~
Rangeオブジェクトを参照するためのRangeプロパティに関しては下記記事をご参照ください。
【Excel VBA】単一セルやセル範囲を参照するRangeプロパティまとめ | Excelを制する者は人生を制す ~No Excel No Life~
CurrentRegionプロパティは空白行・列の領域も選択可能なため、自身の選択したい表に隣接するセルに値が入力されていると、その列や行までも表の一部として認識されてしまう可能性がありますので、CurrentRegionプロパティを使用する前に対象の表の隣接セルに値を入力しないように作成しておきましょう。
使用例
Rangeプロパティで表の中のセルを指定します。
今回の表はB2:D7の範囲のため、先頭のB2セルを指定しています。
1 2 3 | Sub 表全体選択() Range("B2").CurrentRegion.Select End Sub |
マクロの動作イメージ
表全体となるB2:D7の範囲が選択されました。
まとめ
表全体の操作をしたい際にCurrentRegionプロパティを使用するとコードがすっきりします。
表全体に対して値や書式を操作したい場合は重宝しますね。
なによりどんどん更新して表の大きさが変わる場合にわざわざコードを書き換える必要がないので、使い勝手の良いプロパティのひとつです。
頻出のプロパティなのでぜひ覚えましょう(・∀・)