【Excel VBA】行をコピー・挿入する方法を紹介【備忘録】

Excel
スポンサーリンク

今回は行をコピー・挿入する方法を備忘録も兼ねて紹介したいと思います。

スポンサーリンク

行をコピー・挿入する方法

行をコピー・挿入するには、CopyInsertを使用します。

Copyで指定した行をコピーし、Insertで指定した位置に挿入する感じです。

Rows(...).Copy

Range("...").Insert
スポンサーリンク

コードの紹介

それではコードを紹介します。

なお説明するにあたり、分かりやすいように以下のようなシートを使用します。
1,2,3行目にそれぞれ背景色が設定されています。

コードの紹介_1
Sub test_CopyAndPaste_TargetRows()
    Rows(1).Copy
    Rows(3).Insert
End Sub

実行すると、一行目(赤)をコピーし、3行目(黄)に挿入されます。

コードの紹介_2

実際に見てみると分かると思いますが、3行目(黄)が一行下に移動する感じです。
右クリックした時に出てくる「コピーしたセルの挿入」と同じような動作になります。

コードの紹介_3
スポンサーリンク

複数行にコピー・挿入したい場合

複数行にコピー・挿入する時はRows(...)ではなくRange(...)を使用します。
指定する時はRange("【コピー開始行番号】:【コピー終了行番号】")のように指定します。

Rows(1).Copy
'RowsではなくRangeを使用する
Range("3:5").Insert

実行すると1行目をコピーし、3~5行目に行が挿入されます。

複数行にコピー・挿入したい場合_1

逆に複数行をコピーしたいときもRange(...)を使えば実現可能です。

'1~3行目をコピーする
Range("1:3").Copy
Range("4:6").Insert

以下のように1~3行が4~6行目に挿入されているのが分かります。

複数行にコピー・挿入したい場合_2

ちなみに余談ですが、複数行をコピーした後にInsertする際、Rangeで指定してもRowsで指定しても同じように挿入されるようです。一応覚えておきましょう。

'どちらも同じ処理になる

Range("1:3").Copy
Rows(4).Insert

Range("1:3").Copy
Range("4:6").Insert

まとめ

今回は行をコピー・挿入する方法を紹介しました。

1行だけコピー・挿入する時はRows(...)、複数行をコピー・挿入する時はRange(...)を使用するようにしましょう!

このブログではVBAに関する記事を不定期で投稿していますので、是非ご覧ください!

Ads Blocker Image Powered by Code Help Pro

Ads Blocker Detected!!!

We have detected that you are using extensions to block ads. Please support us by disabling these ads blocker.

タイトルとURLをコピーしました