Excel VBA(マクロ)で見出しを選択、選択範囲を変更する方法/Resizeプロパティの使い方

IT

Resizeプロパティを使うと、「既に選択した範囲」から相対的な範囲を再選択することができます。口で説明するのが難しいので、図をご覧ください。

スポンサーリンク

成果物

resize14
Resizeプロパティを使い、セルや範囲を起点に選択範囲を変更します。

Resizeプロパティの使い方

resize1
B2セルおよび周囲に何もない状態から始めます。
resize2
VBEを開き、Range(“B2”).Interior.ColorIndex = 15を記述して実行すると、
resize3
B2セルの色が変更されます。
resize4
では今度は、Range(“B2”).Resize(3,3).Interior.ColorIndex = 15に修正して実行してみると、
resize5
B2セルを起点にして下右それぞれみっつ分のセルがまとめて塗られます。
Offsetプロパティの範囲版のように使うことができるプロパティです。
resize10
ただし、Offsetとちがいマイナスの値は使えません。右と下にのみ範囲の延長が可能です。
resize6
数字をひとつしか指定しなければ、
resize7
列にだけ干渉し、
resize8
Resize(, 3)のように、頭に,を付けて数字を指定すれば、
resize9
横方向にのみ干渉します。

範囲に対してResize

resize11
範囲に対してResizeを行うと、範囲のサイズからそのまま拡大していくことができます。
たとえばRange(“B2:D4”).Resize(1).Interior.ColorIndex = 15のようにすれば、
resize12
表の見出しや左端だけ干渉することができます。
resize13
Resize(5, 4)とすれば、
resize14
範囲からはみ出すことも可能です。

Offsetとの組み合わせ(左上以外からの範囲取得)

resize15
ついでに。先ほど言及したOffsetですが、Resizeと組み合わせて使うことで左上以外から範囲を取得することも可能です。
たとえばこの表Aの見出しおよび1列目はそのまま残し、〇だの×だのだけは削除したいとします。
resize16
この場合、Offsetでまず「左上からひとつ下、ひとつ右」を取得した上で、そこからResizeで表Aの列数-1・行数-1を選択してクリアすれば、目的が達成できます。
コードとしてはRange(“表A”).Offset(1, 1).Resize(Range(“表A”).Rows.Count – 1, Range(“表A”).Columns.Count – 1).ClearContentsのようになります。
resize17
実行結果です。
関数・演算子・メソッド・プロパティ名から探すExcel/VBA(マクロ)使い方・組み合わせ方まとめ
こちらはExcelやメソッドの諸機能を、機能の名称から探せるまとめ記事です。
Excel(エクセル):選択、移動
Excelでセルを選択/移動する方法のまとめです。ここでいうセルの選択というのは(マウスなどで)セルを入力・設定変更などするために選択するという意味のことで、関数などで対象のセルを選択する「参照」は扱いません。 補足事項は各個記事内リンク...
やりたいことから方法を探すエクセルExcel操作・関数・VBA(マクロ)逆引きまとめ
逆引き(やりたいことから探す)Excel記事まとめ

コメント