insertメソッド
Insertメソッドは、セルを挿入するメソッドです。
範囲の行数と列数が同じの場合、Insertメソッドを実行するとセルの挿入後、下方向にシフトします。
列数のほうが行数より多い場合は、右方向にシフトし、列数より行数のほうが多い場合は挿入後、下方向にシフトします。
セルの行または列を挿入する場合、行の場合は挿入後、下方向ににシフトされ、列の場合は挿入後、右方向ににシフトされます。
行数=列数の範囲挿入
以下のようにセルに数字が入力されている状態で
以下のプログラムを実行すると
'アクティブなシートのセルB1~D3の範囲の挿入(行数=列数なので下方向にシフト) Sub InsertCell() Range(Cells(1, 2), Cells(3, 4)).Insert End Sub
指定した範囲の分だけ、セルが挿入され、下方向にシフトされる。
行数>列数の範囲挿入
'アクティブなシートのセルB1~D3の範囲の挿入(行数>列数なので右方向にシフト) Sub InsertCell() Range("B1:D4").Insert End Sub
指定した範囲の分だけ、セルが挿入され、右方向にシフトされる。
行数<列数の範囲挿入
'Sheet1のセルB1~D3の範囲の挿入(行数<列数なので下方向にシフト) Sub InsertCell() Worksheets("Sheet1").Activate Worksheets("Sheet1").Range(Cells(1, 2), Cells(3, 5)).Insert End Sub
指定した範囲の分だけ、セルが挿入され、下方向にシフトされる。
Sub InsertCell() Worksheets("Sheet1").Activate Worksheets("Sheet1").Range(Cells(1, 2), Cells(3, 5)).Insert _ shift:=xlShiftToRight End Sub
行の挿入
'アクティブなシートの1~3行目を挿入後、下方向にシフト Sub InsertCell() Range(Cells(1, 2), Cells(3, 4)).EntireRow.Insert End Sub
結果は以下のとおりです
列の挿入
'アクティブなシートの1~3列目を挿入後、右方向にシフト Sub InsertCell() Range(Cells(1, 2), Cells(3, 4)).EntireColumn.Insert End Sub
結果は以下のとおりです。