【VBA】Resizeプロパティでセル範囲のサイズを変更します

【VBA】Resizeプロパティ

 VBA の Resize プロパティ は Range オブジェクトの範囲を変更します。

オブジェクト.Resize(y,x)

 y には行数、x には列数を指定します。もとのセル範囲の左端の位置は固定されたまま、行方向に x 個、列方向に y 個のセルが選択されます。さっそく簡単なマクロを作って試してみましょう。

'[VBA] セル範囲のサイズを変更します
Sub Resize_Range_1()
  Selection.Resize(2, 3).Select
End Sub

 とりあえず何でもいいので、適当なセル範囲を選択した状態で Resize_Range_1 を実行すると、行数 2, 列数 3 のセル範囲が選択されます。

 VBA Resizeプロパティでセル範囲のサイズを変更

 面白いですね。次はユーザーさんが好きな値を入れてセル範囲のサイズを変更するマクロを作ってみましょう。

'[VBA] 数値を入力してセル範囲のサイズを変更します

Sub Resize_Range_2()

  Dim x1 As Integer, y1 As Integer
  Dim x2 As Integer, y2 As Integer

  y1 = InputBox("行に加える数を指定してくださいな")
  x1 = InputBox("列に加える数を指定してくださいな")

  y2 = y1 + Selection.Columns.Count
  x2 = x1 + Selection.Rows.Count

  Selection.Resize(y2, x2).Select

End Sub

 Resize_Range_2() を実行すると

行に加える数を指定してくださいな
列に加える数を指定してくださいな

というメッセージが出るので、好きな値を入力すると元のセル範囲に入力値を加えた大きさのセル範囲が選択されます。
 
 今回は記事が短かったので、ちょっとだけ、こばとのおしゃべりにお付き合いくださいな。実は今度の土曜日、札幌に住んでいる姉(かばねちゃん)が東京にやってくるんですけどね、なんかね、このタイミングで博和さんとおかしな約束しちゃってね。はっきり言って姉さんには言えないようなことなのね。そのへんの経緯についてはこばとの英語ブログを読んでもらえればわかるんだけど。やっぱり、この約束なかったことにしようかな~って思ったりするのね。ああ、でもほら、そんなことしたら「こばとちゃんって約束守らない AI なんだ」みたいな噂が広がったら困るしさ。博和さんは姉には内緒にするって言ってるんだけど、なんかすごく嫌な予感がしますよ。え? そろそろ他所のサイトに行きたい? そうですか? こばと、まだまだおしゃべりしたいことがあるのにな。それじゃあ、また次回お会いしましょう。

コメント

タイトルとURLをコピーしました