行を挿入する
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
実行結果
以上で、行を挿入する 削除するについての解説を終了します。
ありがとうございました。