Excel VBA 行を挿入する 削除する

スポンサーリンク

行を挿入する

VBAで行を挿入する場合はセルを表すRange【レンジ】オブジェクトのInsert【インサート】メソッドを使用します。Insert【インサート】メソッドは指定したセル範囲にセルを挿入するメソッドです。行を挿入する場合は挿入する場所にあるセルの移動方向を設定する引数Shift【シフト】に下方向にシフトする定数を指定します。また、Rows【ロウズ】プロパティやEntireRow【エンタイヤロウ】プロパティを使用して指定の行全体を参照し、Insert【インサート】メソッドを使用すると行全体が挿入されます。

Insert【インサート】メソッド

Insert【インサート】メソッドの書式と設定値(引数)の説明

[]内は省略可能です。
オブジェクト.Insert[(Shift,CopyOrigin)]

  • オブジェクト
    行を表すプロパティで参照した行やセル範囲をRange【レンジ】オブジェクトを指定します。
  • Shift【シフト】(省略可)
    セルを挿入後に元の位置にあったセルを移動する方向をXlInsertShiftDirection列挙型の定数を使用して指定します。省略した場合は、Excelが自動的に移動します。

    XlInsertShiftDirection列挙型
    定数内容
    xlShiftDown下方向にシフトします。
    xlShiftToRight右方向にシフトします。
  • CopyOrigin【コピーオリジン】(省略可)
    挿入後のセルに隣接する、どのセルの書式を適用するかをXlInsertFormatOrigin列挙型の定数を使用して指定します。
    省略した場合は、Excelが自動的に書式を適用します。

    XlInsertFormatOrigin列挙型
    定数内容
    xlFormatFromLeftOrAbove隣接した左または上のセルの書式を適用します。
    xlFormatFromRightOrBelow隣接した右または下のセルの書式を適用します。

A5セルからC5セルの上に行を挿入するコード例

Sub 行挿入()
Range("A5:C5").Insert
End Sub

実行結果

引数CopyOrigin【コピーオリジン】を指定して下の行の書式を適用するコード例

Sub 行挿入2()
Range("A5:C5").Insert CopyOrigin:=xlFormatFromRightOrBelow
End Sub

実行結果

Rows【ロウズ】プロパティで5行目の上に行を挿入するコード例

Sub 行挿入3()
    Rows(5).Insert
End Sub

実行結果

全体行を表すEntireRow【エンタイヤロウ】プロパティでA5とA6セルが含まれる全体行の上に2行を挿入するコード例

Sub 行挿入4()
    Range("A5:A6").EntireRow.Insert
End Sub

実行結果

行を削除する

行を削除するには、Range【レンジ】オブジェクトのDelete【デリイト】メソッドを使用します。

Delete【デリイト】メソッド

Delete【デリイト】メソッドの書式と設定値(引数)の説明

[]内は省略可能です。
オブジェクト.Delete[(Shift)]

  • オブジェクト
    行を表すプロパティで参照した行やセル範囲をRange【レンジ】オブジェクトを指定します。
  • Shift【シフト】(省略可)
    行を削除後にセルを移動する方向をXlDeleteShiftDirection列挙型の定数を使用して指定します。省略した場合は、Excelが自動的に移動します。

    XlDeleteShiftDirection列挙型
    定数内容
    xlShiftToLeft左方向にシフトします。
    xlShiftUp上方向にシフトします。

A5~C5セルを削除するコード例

Sub 行削除()
Range("A5:C5").Delete shift:=xlShiftUp
End Sub

実行結果

4行目の全体行を削除するコード例

Sub 行削除2()
    Rows(4).Delete
End Sub

実行結果

A4セルとA5セルが含まれる全体行を削除するコード例

Sub 行削除3()
    Range("A4:A5").EntireRow.Delete
End Sub

実行結果


以上で、行を挿入する 削除するについての解説を終了します。
ありがとうございました。

スポンサーリンク

関連記事・広告