今回はセルの追加(挿入)と削除についてご説明します。
セルを挿入と削除する場合、移動方向の指定が可能です。
複数のセル挿入や削除も併せてご説明します。
セルや列のその他操作は次のページをご覧ください。
1.セルの挿入方法
セルの挿入は「Insert」 メソッドを使用します。
RangeでもCellsでも使用できます。
Rangeはセル名で、Cellsは行列番号で指定します。
引数に移動方向を指定する事で、右もしくは下へ指定できます。
引数を省略すると、Excelが自動的に判定して移動方向が決まります。
定数 | 移動方向 |
xlShiftToRight | 右方向 |
xlShiftDown | 下方向 |
Rangeの場合
Sub Sample1()
Range("A2").Insert '省略(Sample1の場合は下に挿入)
Range("B2").Insert Shift:=xlShiftToRight '右方向に挿入
Range("C2").Insert Shift:=xlShiftDown '下方向に挿入
End Sub
Cellsの場合
Sub Sample2()
Cells(2, 1).Insert '省略(Sample1の場合は下に挿入)
Cells(2, 2).Insert Shift:=xlShiftToRight '右方向に挿入
Cells(2, 3).Insert Shift:=xlShiftDown '下方向に挿入
End Sub
2.セルの削除方法
セルの挿入は「Delete」 メソッドを使用します。
RangeでもCellsでも使用できます。
Rangeはセル名で、Cellsは行列番号で指定します。
引数に移動方向を指定する事で、左もしくは上へ指定できます。
引数を省略すると、Excelが自動的に判定して移動方向が決まります。
定数 | 移動方向 |
xlShiftToLeft | 左方向 |
xlShiftUp | 上方向 |
Rangeの場合
Sub Sample3()
Range("A2").Delete '省略(Sample1の場合は上に削除)
Range("B2").Delete Shift:=xlShiftToLeft '左方向に削除
Range("C2").Delete Shift:=xlShiftUp '上方向に削除
End Sub
Cellsの場合
Sub Sample4()
Cells(2, 1).Delete '省略(Sample1の場合は上に削除)
Cells(2, 2).Delete Shift:=xlShiftToLeft '左方向に削除
Cells(2, 3).Delete Shift:=xlShiftUp '上方向に削除
End Sub
3.複数セルの挿入/削除
連続したセルの挿入/削除
連続したセルの挿入方法は、単純に範囲指定して、InsertもしくはDeleteです。
挿入
Rangeのコード
Sub Sample5()
Range("A2:A4").Insert '省略(Sample1の場合は下に挿入)
Range("B2:B4").Insert Shift:=xlShiftToRight '右方向に挿入
Range("C2:C4").Insert Shift:=xlShiftDown '下方向に挿入
End Sub
Cellsのコード
Sub Sample6()
Range(Cells(2, 1), Cells(4, 1)).Insert '省略(Sample1の場合は下に挿入)
Range(Cells(2, 2), Cells(4, 2)).Insert Shift:=xlShiftToRight '右方向に挿入
Range(Cells(2, 3), Cells(4, 3)).Insert Shift:=xlShiftDown '下方向に挿入
End Sub
削除
Rangeのコード
Sub Sample7()
Range("A2:A4").Delete '省略(Sample1の場合は上に削除)
Range("B2:B4").Delete Shift:=xlShiftToLeft '左方向に削除
Range("C2:C4").Delete Shift:=xlShiftUp '上方向に削除
End Sub
Cellsのコード
Sub Sample8()
Range(Cells(2, 1), Cells(4, 1)).Delete '省略(Sample1の場合は上に削除)
Range(Cells(2, 2), Cells(4, 2)).Delete Shift:=xlShiftToLeft '左方向に削除
Range(Cells(2, 3), Cells(4, 3)).Delete Shift:=xlShiftUp '上方向に削除
End Sub
離れたセルの挿入/削除
離れたセルは、指定方法が少し違います。
Rangeの場合はそれぞれのセルを「,」で区切って指定します。
Cellsは「Union」を使用して、選択セルを指定します。
挿入
Rangeのコード
Sub Sample9()
Range("A2,A4,A6").Insert '省略(Sample1の場合は下に挿入)
Range("B2,B4,B6").Insert Shift:=xlShiftToRight '右方向に挿入
Range("C2,C4,C6").Insert Shift:=xlShiftDown '下方向に挿入
End Sub
Cellsのコード
Sub Sample10()
Union(Cells(2, 1), Cells(4, 1), Cells(6, 1)).Insert '省略(Sample1の場合は下に挿入)
Union(Cells(2, 2), Cells(4, 2), Cells(6, 2)).Insert Shift:=xlShiftToRight '右方向に挿入
Union(Cells(2, 3), Cells(4, 3), Cells(6, 3)).Insert Shift:=xlShiftDown '下方向に挿入
End Sub
削除
Rangeのコード
Sub Sample11()
Range("A2,A4,A6").Delete '省略(Sample1の場合は上に削除)
Range("B2,B4,B6").Delete Shift:=xlShiftToLeft '左方向に削除
Range("C2,C4,C6").Delete Shift:=xlShiftUp '上方向に削除
End Sub
Cellsのコード
Sub Sample12()
Union(Cells(2, 1), Cells(4, 1), Cells(6, 1)).Delete '省略(Sample1の場合は上に削除)
Union(Cells(2, 2), Cells(4, 2), Cells(6, 2)).Delete Shift:=xlShiftToLeft '左方向に削除
Union(Cells(2, 3), Cells(4, 3), Cells(6, 3)).Delete Shift:=xlShiftUp '上方向に削除
End Sub
「Union」で範囲を指定する場合は「Union(Range(Cells(2, 3), Cells(4, 3)), Range(Cells(2, 3), Cells(4, 3)))」の様に記載します。