行の挿入と削除

行を挿入したり削除するとき、周囲のセルをどちらに移動するかを選択します。

行を挿入するときはInsertメソッドを、行を削除するときはDeleteメソッドを使います。

引数を使って挿入・削除時のセルの方向を指定します。

目次

Insertメソッドで行を挿入する

挿入位置を指定して、行を挿入します。

■ 行挿入の1例目

  ■ コード内を「Wクリック」で選択できます。
[code]
Sub サンプル4105_1()

Range(“A4”).Select
Selection.EntireRow.Insert
Selection.EntireRow.Interior.Pattern = xlNone

End Sub
[/code]

• Range(“A4”).Select
 ’セルA4を選択します。
• Selection.EntireRow.Insert
 ’選択したセルに行を挿入します。
上の書式をコピーするので、背景色が付きます。

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

■ 行挿入の2例目
途中に挿入する場合は、EntireRow.Insertで簡単に挿入できる。

  ■ コード内を「Wクリック」で選択できます。
[code]
Sub サンプル4105_2()

Range(“A5”).Select
Selection.EntireRow.Insert

End Sub
[/code]

Rowsプロパティで行を挿入する

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

  ■ コード内を「Wクリック」で選択できます。
[code]
Sub サンプル4105_3()

Rows(5).Insert

End Sub
[/code]

• Rows(5).Insert
 ’5行目に行を挿入します。

Insert Shiftで行を挿入する

次の表を例に使います。

セルA4を基準にして、行を挿入します。

  ■ コード内を「Wクリック」で選択できます。
[code]
Sub サンプル4105_4()

Range(“A4”).Resize(1, 6) _
.Insert Shift:=xlShiftDown, _
CopyOrigin:=xlFormatFromRightOrBelow

End Sub
[/code]

• Range(“A4”).Resize(1, 6) _
.Insert Shift:=xlShiftDown, _
CopyOrigin:=xlFormatFromRightOrBelow
 ’セルA4を基準にして、右方向に1行、6列分のセルを挿入します。
セルを挿入した後で、既存のセルを下方向に移動し下のセルの書式をコピーします。

■ Insertの引数

Shift設定値 内 容
xlShiftDown セルを挿入後、下にずらす。
xlShiftToRight セルを挿入後、右にずらす。
CopyOrigin設定値 内 容
xlFormatFromLeftOrAbove 上、または左のセルから書式をコピーする。
xlFormatFromRightOrBelow 下、または右のセルから書式をコピーする

範囲を指定して行を挿入する

行の範囲を指定して、行を挿入することができます。

  ■ コード内を「Wクリック」で選択できます。
[code]
Sub サンプル4105_5()

Range(“5:6”).Insert
‘Range(“A5:F6”).Insert
‘Rows(“5:6”).Insert

End Sub
[/code]

• Range(“5:6”).Insert
 ’5行目と6行目に挿入します。
• Range(“A5:F6”).Insert
 ’セルA5~セルF6を、指定しても同じ結果になります。
• Rows(“5:6”).Insert
 ’Rowsプロパティ で、5行と6行を指定しても同じ結果になります。

Deleteメソッドで行を削除する

■ 行を削除する1例目
セルA4の行を削除する。

  ■ コード内を「Wクリック」で選択できます。
[code]
Sub サンプル4105_8()

Range(“A4”).Resize(1, 6).Delete

End Sub
[/code]

• Range(“A4”).Resize(1, 6).Delete
 ’セルA4を基準にして、1行、6列分を削除する。

■ 行を削除する2例目

  ■ コード内を「Wクリック」で選択できます。
[code]
Sub サンプル4105_9()

Range(“A4”, Range(“A4”).End(xlToRight)) _
.Delete Shift:=xlShiftUp

End Sub
[/code]

• Range(“A4”, Range(“A4”).End(xlToRight)) _
.Delete Shift:=xlShiftUp
 ’セルA4を基準にして、右端までのセルを削除嶋あす。
セルの削除後は、下にあったセルを上方向にずらします。

目次