ExcelVBA,セル範囲のサイズを、指定した行数と列数に変更

スポンサーリンク

鍛錬 625

ExcelVBA,セル範囲のサイズを、指定した行数と列数に変更する

セル範囲のサイズを、指定した行数と列数に変更するには、Resize プロパティを使用します。

セル範囲の行数と列数を取得した後に、その値を Resize プロパティの引数として使用します。

セル範囲の行数を取得する

Selection.Rows.Count

 
セル範囲の列数を取得する

Selection.Columns.Count

 
Resize プロパティの使用方法は、以下に示す通りです。

行数と列数は、それぞれプラス(+)で加算され、マイナス(-)で減算されます。

行数のみを変更する場合 (以下は、加算(+)しています)

 
Selection.Resize(Selection.Rows.Count + 変更する行数).Select
 

 
列数のみを変更する場合 (以下は、加算(+)しています)

 
Selection.Resize(, Selection.Columns.Count + 変更する列数).Select
 

 
行数と列数の両方を変更する場合 (以下は、加算(+)しています)

 
Selection.Resize(Selection.Rows.Count + 変更する行数, Selection.Columns.Count + 変更する列数).Select
 
 
スポンサーリンク

マクロ

以下は、セル範囲のサイズを指定した列数と行数に変更するマクロ、ResizeSelectRange() です。

今回は、セル範囲 B3:D5 について、行数を3行増加し、列数を1列増加するように変更しています。

また、変更前と変更後のセル範囲が分かりやすいように、変更する前に MsgBox を使用しています。

変更前のセル範囲 変更後のセル範囲
B3:D5 B3:E8
(行数を3増加、列数を1増加)
Sub ResizeSelectRange()
    ' リサイズ前のセル範囲を指定
    Range("B3:D5").Select
    
    MsgBox "これから選択セル範囲を変更します。"
    
    ' セル範囲をリサイズ
    Selection.Resize(Selection.Rows.Count + 3, Selection.Columns.Count + 1).Select
End Sub

実行結果

まずは、マクロ ResizeSelectRange() を実行します。

セル範囲の変更前
 
上記に示した通り、変更前のセル範囲として B3:D5 が選択されています。

以下は、MsgBox で表示されたメッセージボックスの OK をクリックし、セル範囲を変更しています。

セル範囲の変更後
 
上記に示した通り、セル範囲の行数と列数を、指定した値だけ増加させることができました。

スポンサーリンク

シェアする

フォローする