行を挿入したり削除するとき、周囲のセルをどちらに移動するかを選択します。
行を挿入するときはInsertメソッドを、行を削除するときはDeleteメソッドを使います。
引数を使って挿入・削除時のセルの方向を指定します。
Insertメソッドで行を挿入する
挿入位置を指定して、行を挿入します。

■ 行挿入の1例目
■ コード内を「Wクリック」で選択できます。
Sub サンプル4105_1() <pre><code>Range("A4").Select Selection.EntireRow.Insert Selection.EntireRow.Interior.Pattern = xlNone</code></pre> End Sub
• Range(“A4”).Select
’セルA4を選択します。
• Selection.EntireRow.Insert
’選択したセルに行を挿入します。
上の書式をコピーするので、背景色が付きます。

• Selection.EntireRow.Interior.Pattern = xlNone
’セルの「塗りつぶしをなし」にします。

■ 行挿入の2例目
途中に挿入する場合は、EntireRow.Insertで簡単に挿入できる。
■ コード内を「Wクリック」で選択できます。
Sub サンプル4105_2() <pre><code>Range("A5").Select Selection.EntireRow.Insert</code></pre> End Sub

Rowsプロパティで行を挿入する
Rowsプロパティは、Rowsの引数にRows(1)で1行目、Rows(3)で3行目のように挿入箇所を指定します。

■ コード内を「Wクリック」で選択できます。
Sub サンプル4105_3() <pre><code>Rows(5).Insert</code></pre> End Sub
• Rows(5).Insert
’5行目に行を挿入します。

Insert Shiftで行を挿入する
次の表を例に使います。

セルA4を基準にして、行を挿入します。
■ コード内を「Wクリック」で選択できます。
Sub サンプル4105_4() <pre><code>Range("A4").Resize(1, 6) _ .Insert Shift:=xlShiftDown, _ CopyOrigin:=xlFormatFromRightOrBelow</code></pre> End Sub
• Range(“A4”).Resize(1, 6) _
.Insert Shift:=xlShiftDown, _
CopyOrigin:=xlFormatFromRightOrBelow
’セルA4を基準にして、右方向に1行、6列分のセルを挿入します。
セルを挿入した後で、既存のセルを下方向に移動し下のセルの書式をコピーします。

■ Insertの引数
Shift設定値 | 説明 |
---|---|
xlShiftDown | セルを挿入後、下にずらす。 |
xlShiftToRight | セルを挿入後、右にずらす。 |
CopyOrigin設定値 | 説明 |
---|---|
xlFormatFromLeftOrAbove | 上、または左のセルから書式をコピーする。 |
xlFormatFromRightOrBelow | 下、または右のセルから書式をコピーする |
範囲を指定して行を挿入する
行の範囲を指定して、行を挿入することができます。

■ コード内を「Wクリック」で選択できます。
Sub サンプル4105_5() <pre><code>Range("5:6").Insert 'Range("A5:F6").Insert 'Rows("5:6").Insert</code></pre> End Sub
• Range(“5:6”).Insert
’5行目と6行目に挿入します。
• Range(“A5:F6”).Insert
’セルA5~セルF6を、指定しても同じ結果になります。
• Rows(“5:6”).Insert
’Rowsプロパティで、5行と6行を指定しても同じ結果になります。

Deleteメソッドで行を削除する
■ 行を削除する1例目
セルA4の行を削除する。

■ コード内を「Wクリック」で選択できます。
Sub サンプル4105_8() <pre><code>Range("A4").Resize(1, 6).Delete</code></pre> End Sub
• Range(“A4”).Resize(1, 6).Delete
’セルA4を基準にして、1行、6列分を削除する。

■ 行を削除する2例目

■ コード内を「Wクリック」で選択できます。
Sub サンプル4105_9() Range("A4", Range("A4").End(xlToRight)) _ .Delete Shift:=xlShiftUp End Sub
• Range(“A4”, Range(“A4”).End(xlToRight)) _
.Delete Shift:=xlShiftUp
’セルA4を基準にして、右端までのセルを削除嶋あす。
セルの削除後は、下にあったセルを上方向にずらします。

以上で「行の挿入と削除」の説明を終わります。