セルの挿入と削除

セルを挿入する方法と削除する方法です。セルを挿入すると挿入される位置にあるセルは右方向又は下方向へ移動します。またセルが削除されると削除されたセルの位置に左方向又は上方向にセルを移動します。ここでは Excel VBA を使ってセルを挿入する方法および削除する方法について解説します。

(Last modified: )

セルを挿入する

セルを挿入する方法です。挿入したい位置にあるRangeオブジェクトに対して「Insert」メソッドを使います。

Dim range1 As Range

Set range1 = Range("A1")
range1.Insert Shift:=xlShiftToRight

挿入後にセルを移動させる方向を「Shift」引数を使って指定します。指定できる値は次のどちらかです。

定数移動方向
xlShiftToRight右方向へシフトする
xlShiftDown下方向へシフトする

移動方向に関する引数は省略可能です。省略した場合にどちらの方向へセルが移動するかはExcelが判断します。

まとめて次のように記述しても構いません。

Range("A1:B3").Insert Shift:=xlShiftDown

サンプルプログラム

では簡単なサンプルで試してみましょう。

下記のようなExcelファイルを用意します。

セルの挿入

セルC2の位置にセルを挿入し右方向へ移動させ、次にセル範囲C4:D4の位置にセルを挿入し下方向へ移動させてみます。

Sub テスト()

    Dim range1 As Range
        
    Set range1 = Range("C2")
    range1.Insert Shift:=xlShiftToRight

    Range("C3:D3").Insert Shift:=xlShiftDown
    
End Sub

上記マクロを実行すると次のようになります。

セルの挿入

セルを削除する

セルを削除する方法です。削除したいRangeオブジェクトに対して「Delete」メソッドを使います。

Dim range1 As Range

Set range1 = Range("A1")
range1.Delete Shift:=xlShiftToLeft

削除後にセルを移動させる方向を「Shift」引数を使って指定します。指定できる値は次のどちらかです。

定数移動方向
xlShiftToLeft左方向へシフトする
xlShiftUp上方向へシフトする

移動方向に関する引数は省略可能です。省略した場合にどちらの方向へセルが移動するかはExcelが判断します。

まとめて次のように記述しても構いません。

Range("A1:B3").Delete Shift:=xlShiftUp

サンプルプログラム

では簡単なサンプルで試してみましょう。

下記のようなExcelファイルを用意します。

セルの削除

セルC2を削除し左方向へ移動させ、次にセル範囲C3:D4を削除し上方向へ移動させてみます。

Sub テスト()

    Dim range1 As Range
        
    Set range1 = Range("C2")
    range1.Delete Shift:=xlShiftToLeft

    Range("C3:D4").Delete Shift:=xlShiftUp

End Sub

上記マクロを実行すると次のようになります。

セルの削除

-- --

Excel VBA を使ってセルを挿入する方法および削除する方法について解説しました。

( Written by Tatsuo Ikura )

Profile
profile_img

著者 / TATSUO IKURA

プログラミングや開発環境構築の解説サイトを運営しています。