• 公開日:
  • 更新日:

Excel VBAを使って行をコピーする方法

行のコピーは、数あるエクセルの操作の中でも頻繁に使う操作です。

この記事では、VBAを使って行のコピーをする方法をご紹介します。

コピー&ペーストを自動化したい方や事務作業の時間短縮を目指したい方はぜひ参考にしてみて下さい。

VBAを使ってコピーする方法

今回はVBAを使って「一行コピーする方法」と、「複数の行をコピーする方法」をご紹介します。

コピーには以下のようなコードを使用します。

Sub copyrow()
    Rows(2).Copy
    Rows(7).PasteSpecial Paste:=xlPasteAll
End Sub

また、VBAの編集には「開発タブ」が必要ですが初期設定では表示されていないため、「開発タブ」が見当たらない方は以下の記事を参考に設定しましょう。

エクセルの開発タブを表示する方法

一行を選択してコピーする方法

VBAを使って、任意の一行を他の行にコピーする方法をご紹介します。

VBAを開く

開発タブ、②Visual Basicの順に選択します。

標準モジュールを開く

Microsoft Visual Basic for Applicationsダイアログボックスが開きます。①ボタン、②標準モジュールの順に選択します。

コードを入力する

標準モジュールが開きます。①上記の「VBAを使ってコピーする方法」セクションに記載したコードを参考に、コードを入力します。「Rows」の後の括弧の中には、コピーしたい行と貼り付け先の行を入力しましょう。今回は2行目を7行目にコピーします。②保存を選択します。

マクロ有効ブックで保存する

名前を付けて保存ダイアログボックスが表示されます。①保存先(例:デスクトップ)を選択し、②任意のファイル名を入力します。③Excel マクロ有効ブックを選択し、④保存ボタンを押します。

マクロを選択

Excelに戻ります。マクロを選択します。

マクロを選んで実行

マクロダイアログボックスが表示されます。①作成したマクロ(例:copyrow)を選択し、②実行ボタンを押します。

一行コピーされる

マクロが実行され、設定どおり2行目が7行目にコピーされています。

複数行をコピーする方法

VBAを使って、複数の行を他の行にコピーする方法をご紹介します。

VBAを開く

開発タブ、②Visual Basicの順に選択します。

標準モジュールを開く

Microsoft Visual Basic for Applicationsダイアログボックスが開きます。

▼ボタン、②標準モジュールの順に選択します。

コードを入力

標準モジュールが開きます。

下記コードを入力します。

Sub copyrows()
    Rows("1:5").Copy
    Rows("7:11").PasteSpecial Paste:=xlPasteAll
End Sub

「Rows」の後の括弧の中には、コピーしたい行数の範囲と貼り付け先の行数の範囲を入力しましょう。今回は1行目から5行目を7行目から11行目にコピーします。

保存を選択します。

マクロ有効ブックで保存

名前を付けて保存ダイアログボックスが表示されます。

保存先(例:デスクトップ)を選択し、②任意のファイル名(例:copyrow)を入力します。

Excel マクロ有効ブックを選択し、④保存ボタンを押します。

マクロを選択

Excelに戻ります。マクロを選択します。

マクロを選んで実行

マクロダイアログボックスが表示されます。

作成したマクロ(例:copyrows)を選択し、②実行ボタンを押します。

複数行がコピーされる

マクロが実行され、複数の行がコピーされました。