更新日:、 作成日:
VBA 行を挿入する
はじめに
Excel VBA マクロで行を挿入する方法を紹介します。
Rows(2).Insert または Range("A2").EntireRow.Insert メソッドから、行「2」に挿入できます。
先に Copy メソッドから行をコピーすると、コピーした行を挿入できます。
行を挿入する
Rows の引数に行番号を指定すると、その行に挿入できます。
行「2」に挿入するには Rows(2).Insert を入力します。
Rows(2).Insert
![1](https://ms.tipsfound.com/vba/08005/1.png)
Range の引数にセル名を指定すると、そのセルを取得できます。EntireRow からその行を取得できます。
セル「B2」の行に挿入するには Range("B2").EntireRow.Insert を入力します。
Range("B2").EntireRow.Insert
コピーした行を挿入
コピーした行を挿入するには、先に Copy メソッドから行をコピーします。それから挿入します。
Rows(1).Copy ' 1 行目をコピー
Range("A1").EntireRow.Copy ' 1 行目をコピー
Rows(2).Insert ' 2 行目に挿入
Application.CutCopyMode = False ' コピーモードを解除
Application.CutCopyMode に False を設定しているのは、Copy メソッドを実行すると、そのセルがコピーモードになるためです。これを解除しています。
![2](https://ms.tipsfound.com/content/b.gif)
スポンサーリンク
複数行を挿入する
行の範囲「2 ~ 3」に挿入するには Range("2:3").Insert または Range("2:2", "3:3").Insert を入力します。
' 2 ~ 3 行目に挿入
Range("2:3").Insert
Range("2:2", "3:3").Insert
Range(Rows(2), Rows(3)).Insert
Range("A2:A3").EntireRow.Insert
![2](https://ms.tipsfound.com/content/b.gif)
コピーした行を挿入
Range("1:2").Copy ' 1 ~ 2 行目をコピー
Range("3:3").Insert
' 1 → 3 行目に挿入
' 2 → 4 行目に挿入
Range("1:1").Copy ' 1 行目をコピー
Range("3:4").Insert
' 1 → 3 行目に挿入
' 1 → 4 行目に挿入
Application.CutCopyMode = False ' コピーモードを解除
別シートの行に挿入する
シートを指定するには Worksheets の引数にシート名またはインデックスを指定します。
Sheet1 を指定するには Worksheets("Sheet1") または Worksheets(1) を入力します。
![sheet1](https://ms.tipsfound.com/content/b.gif)
' Sheet1 の行に挿入
Worksheets("Sheet1").Rows(1).Insert
Worksheets(1).Rows(1).Insert
' Sheet2 の行に挿入
Worksheets("Sheet2").Rows(1).Insert
Worksheets(2).Rows(1).Insert
Sheet1 に Rows を入力すると、自身のシートの行になります。自身を表す Me. が省略されています。
' どちらも同じコード
Dim r As Range
Set r = Rows(1)
Set r = Me.Rows(1)
標準モジュールに Rows を入力すると、開いているシートの行になります。アクティブシートを表す ActiveSheet. が省略されています。
' どちらも同じコード
Dim r As Range
Set r = Rows(1)
Set r = ActiveSheet.Rows(1)
スポンサーリンク