Range.EntireRowプロパティとRange.Offsetプロパティを使って、アクティブセルの上や下に行を挿入するExcel VBAのコードをご紹介しました。
行を表すRangeオブジェクトを取得するRowsプロパティでも、同じことができます。
アクティブセルの上に行を挿入するサンプルマクロ
以下のようなプロシージャで、アクティブセルの上に行を挿入できます。Rows(ActiveCell.Row).Insert
End Sub
ActiveCell.Rowでアクティブなセルの行番号を取得して、
Rows(ActiveCell.Row).Insert
取得した整数値をRowsプロパティの引数(厳密にはRangeオブジェクトの_Defaultプロパティの第1引数)に指定して、アクティブなセルの行全体を表すRangeオブジェクトを取得して、
Rows(ActiveCell.Row).Insert
Range.Insertメソッドで行挿入を行っています。
アクティブセルの下に行を挿入するサンプルマクロ
アクティブなセルの上に行を挿入する場合は、以下のようなプロシージャです。Rows(ActiveCell.Row + 1).Insert
End Sub
先のプロシージャとの違いは、Rowsプロパティ(しつこいですが、厳密にはRangeオブジェクトの_Defaultプロパティの第1引数)に「ActiveCell.Row + 1」という式を指定することで、
Rows(ActiveCell.Row + 1).Insert
アクティブセルの1つ下の行番号を指定している点です。
これによって、アクティブセルの1つ下の行を対象に、Range.Insertメソッドを実行するので、結果的にアクティブセルの1つ下に行挿入が行われます。
最終更新日時:2020-05-21 20:30
Home » Excel VBA Rangeオブジェクト » 行・列を表すRange » Rowsプロパティでアクティブセルの上や下に行を挿入する