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

結果は以下のとおりです。

 

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です