はじめに
Excelで作業をしていると、
「途中に1行追加したい」
「データの区切りとして行を挿入したい」
そんな場面がよくあります。
VBAでは、行を挿入する方法がいくつかあり、
目的に合わせて使い分けることで、コードがより安全で扱いやすくなります。
ここでは、行を挿入する基本のコードと、そのしくみを解説します。
まずはコードを確認
Rows(3).Insert
もっともシンプルな書き方です。
3行目の位置に、新しい行が1行挿入されます。
コードのしくみを解説
Rows(行番号).Insert で行を挿入する
Rows(3).Insert は、3行目の位置に新しい行を追加します。
- 元の3行目は4行目にずれる
- 挿入された行は空白の状態
複数行をまとめて挿入することもできます。
Rows("3:5").Insert '3〜5行分のスペースを挿入
Range を使って行を挿入する
Range("A3").EntireRow.Insert
- セルを基準に行全体を挿入したいときに便利
- EntireRow は「そのセルが属する行」を指します
シートを指定して挿入する
Worksheets("データ").Rows(3).Insert
複数シートを扱う場合は、シート名を明示すると安全です。
あわせて知っておきたいポイント
挿入した行に値を入れる例
Rows(3).Insert
Range("A3").Value = "区切り"
行を挿入したあとに、見出しや区切りを入れる場面で使います。
複数行をまとめて挿入する
Rows(3).Resize(5).Insert '5行分のスペースを挿入
Resize を使うと柔軟に行数を指定できます。
挿入位置を変数で指定する
Dim r As Long
r = 10
Rows(r).Insert
動的に行を挿入したいときに便利です。
使うときに気をつけたいこと
- 結合セルがあると挿入範囲が広がることがあります
→ 必要に応じて結合を解除してから挿入します。
- 大量の行を挿入すると処理が重くなることがあります
→ ScreenUpdating を使うと改善します。
- 挿入位置を間違えるとデータがずれる
→ 行番号の指定は慎重に。
まとめ
- Rows(番号).Insert で行を挿入できる
- EntireRow を使うとセル基準で行全体を挿入できる
- 複数行挿入や変数指定など、実務で便利な書き方も多い
- 行のずれを防ぐために、挿入位置の指定は慎重に
行の挿入を自動化できると、データ整理やレイアウト調整がぐっとスムーズになります。

decopon
行を挿入する処理は、表の見やすさや整理に直結する大切な機能です。
基本の書き方を押さえておくと、実務での作業がとても楽になります。

moco
新しい行が入ると、表が少し呼吸しやすくなるね。
VBAは、そんな小さな整えごとも手伝ってくれるんだ。

コメント