セルを挿入

セルを挿入するにはInsertメソッドを利用します。

指定したセルまたはセル範囲を基点として、右方向または下方向を選択して挿入します。挿入後のセルの書式は隣接するどのセルにするのかを指定できます。


構文

項目 説明
Rangeオブジェクト 基点となる単一セルまたはセル範囲をRangeオブジェクトで指定します。
Shift 省略可能です。セル挿入前の元のセルが右または下のどちらに移動するのかをXlInsertShiftDirection列挙型で指定します。

  • 省略時:自動的に移動します。
  • 右方向:xlShiftToRightを指定します。
  • 下方向:xlShiftDownを指定します。
CopyOrigin 省略可能です。挿入したセルの書式を隣接するどのセルの書式にするのかをXlInsertFormatOrigin列挙型で指定します。

  • 省略時:自動的に適用されます。
  • 左または上のセルを適用する場合はxlFormatFromLeftOrAboveを指定します。
  • 右または下のセルを適用する場合はxlFormatFromRightOrBelowを指定します。



サンプルコード

上の表に対してB3セルにセルを挿入するサンプルです。挿入前のセルは右に移動し、CopyOrigin:=xlFormatFromLeftOrAboveによって左の書式が設定されます。

なお、コメントにしている3行目は4行目と同じようにセルの挿入を行います。3行目と4行目のどちらの書き方でも構いません。

こちらはCopyOrigin:=xlFormatFromRightOrBelowによって右の書式が設定されるコードです。




セル挿入時の注意点

上のサンプルコードでも分かりますが、一部のみにセルの挿入を行うと、その部分だけ表がずれてしまいます。

罫線を使ってこのような表を作成する場合があります。

罫線を使っている場合の表にC3からC5セルを右に挿入すると以下になります。

ずれを発生させないようにするには表の先頭から最後までをRangeオブジェクトで指定します。上の場合はC2からC8セルを指定するとB列がすべて右に移動します。




テーブル機能での一部セル挿入はエラーになる

罫線ではなく、Excelの挿入タブ→テーブル で作成した場合も表形式のデータを作成できます。

ただし、セルの挿入では罫線の場合と異なる部分があります。

テーブル機能(Excelの挿入タブ→テーブル)で作成した表に対して一部のセルを挿入した場合はエラーが発生し挿入が出来ません。

エラーになる原因は一部のみには挿入が出来ないためです。罫線の場合と同様に適切なセル範囲を指定すればエラーにならずにセル挿入が可能です。