サイトについて      連絡先   検索

VBA 行を挿入する

はじめに

Excel VBA マクロの行を挿入する方法を紹介します。

Rows.Insert メソッドまたは Range.Insert メソッドで行を挿入できます。

  • 目次
    • 行を挿入する
    • 行の範囲に挿入する
    • 指定したシートの行に挿入する

行を挿入する

Rows の引数に行番号を指定すると、その行に挿入できます。

行「2」に挿入するにはRows(2).Insertを入力します。


Rows(2).Insert
1

Range の引数にセル名を指定すると、そのセルを取得できます。EntireRow からその行を取得できます。

セル「B2」の行に挿入するにはRange("B2").EntireRow.Insertを入力します。


Range("B2").EntireRow.Insert

行の範囲に挿入する

行の範囲「2 ~ 3」に挿入するにはRange("2:3").Insertを入力します。


Range("2:3").Insert ' 2 ~ 3 行目に挿入
Range("5:5").Insert ' 5 行目に挿入
2

指定したシートの行に挿入する

シートを指定するには Worksheets の引数にシート名またはインデックスを指定します。

Sheet1 を指定するにはWorksheets("Sheet1")またはWorksheets(1)を入力します。

sheet1

' 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)
  • 目次
    • 行を挿入する
    • 行の範囲に挿入する
    • 指定したシートの行に挿入する