Home » ExcelVBA Rangeオブジェクト » 行・列を表すRange » Rowsプロパティでアクティブセルの上や下に行を挿入する

Rowsプロパティでアクティブセルの上や下に行を挿入する

対象:Excel2010, Excel2013, Windows版Excel2016

Range.EntireRowプロパティとRange.Offsetプロパティを使って、アクティブセルの上や下に行を挿入するExcel VBAのコードをご紹介しました。

Rowsプロパティでアクティブセルの上や下に行を挿入する

行を表すRangeオブジェクトを取得するRowsプロパティでも、同じことができます。

[スポンサードリンク]

アクティブセルの上に行を挿入するサンプルマクロ

以下のようなプロシージャで、アクティブセルの上に行を挿入できます。


Sub アクティブセルの上に行を挿入する
 Rows(ActiveCell.Row).Insert
End Sub

ActiveCell.Rowでアクティブなセルの行番号を取得して、
  Rows(ActiveCell.Row).Insert

取得した整数値をRowsプロパティの引き数(厳密にはRangeオブジェクトの_Defaultプロパティの第1引数)に指定して、アクティブなセルの行全体を表すRangeオブジェクトを取得して、
  Rows(ActiveCell.Row).Insert

Range.Insertメソッドで行挿入を行っています。

アクティブセルの上に行を挿入するサンプルマクロ

アクティブなセルの上に行を挿入する場合は、以下のようなプロシージャです。


Sub アクティブセルの下に行を挿入する
 Rows(ActiveCell.Row + 1).Insert
End Sub

先のプロシージャとの違いは、Rowsプロパティ(しつこいですが、厳密にはRangeオブジェクトの_Defaultプロパティの第1引数)に「ActiveCell.Row + 1」という式を指定することで、
  Rows(ActiveCell.Row + 1).Insert
アクティブセルの1つ下の行番号を指定している点です。

これによって、アクティブセルの1つ下の行を対象に、Range.Insertメソッドを実行するので、結果的にアクティブセルの1つ下に行挿入が行われます。

[スポンサードリンク]

Home » ExcelVBA Rangeオブジェクト » 行・列を表すRange » Rowsプロパティでアクティブセルの上や下に行を挿入する

TrackBack:0

TrackBack URL
[スポンサードリンク]

Home » ExcelVBA Rangeオブジェクト » 行・列を表すRange » Rowsプロパティでアクティブセルの上や下に行を挿入する

「行・列を表すRange」の記事一覧

検索

Copyright © インストラクターのネタ帳 All Rights Reserved.

.