- Home ›
- Excel VBA入門 ›
- セルの編集
セルの挿入と削除
セルを挿入する方法と削除する方法です。セルを挿入すると挿入される位置にあるセルは右方向又は下方向へ移動します。またセルが削除されると削除されたセルの位置に左方向又は上方向にセルを移動します。ここでは 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 )
著者 / TATSUO IKURA
これから IT 関連の知識を学ばれる方を対象に、色々な言語でのプログラミング方法や関連する技術、開発環境構築などに関する解説サイトを運営しています。