- 公開日:
- 更新日:
Excel VBAを使って行をコピーする方法
行のコピーは、数あるエクセルの操作の中でも頻繁に使う操作です。
この記事では、VBAを使って行のコピーをする方法をご紹介します。
コピー&ペーストを自動化したい方や事務作業の時間短縮を目指したい方はぜひ参考にしてみて下さい。
VBAを使ってコピーする方法
今回はVBAを使って「一行コピーする方法」と、「複数の行をコピーする方法」をご紹介します。
コピーには以下のようなコードを使用します。
Sub copyrow()
Rows(2).Copy
Rows(7).PasteSpecial Paste:=xlPasteAll
End Sub
また、VBAの編集には「開発タブ」が必要ですが初期設定では表示されていないため、「開発タブ」が見当たらない方は以下の記事を参考に設定しましょう。
一行を選択してコピーする方法
VBAを使って、任意の一行を他の行にコピーする方法をご紹介します。
①開発タブ、②Visual Basicの順に選択します。
Microsoft Visual Basic for Applicationsダイアログボックスが開きます。①▼ボタン、②標準モジュールの順に選択します。
標準モジュールが開きます。①上記の「VBAを使ってコピーする方法」セクションに記載したコードを参考に、コードを入力します。「Rows」の後の括弧の中には、コピーしたい行と貼り付け先の行を入力しましょう。今回は2行目を7行目にコピーします。②保存を選択します。
名前を付けて保存ダイアログボックスが表示されます。①保存先(例:デスクトップ)を選択し、②任意のファイル名を入力します。③Excel マクロ有効ブックを選択し、④保存ボタンを押します。
Excelに戻ります。マクロを選択します。
マクロダイアログボックスが表示されます。①作成したマクロ(例:copyrow)を選択し、②実行ボタンを押します。
マクロが実行され、設定どおり2行目が7行目にコピーされています。
複数行をコピーする方法
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)を選択し、②実行ボタンを押します。
マクロが実行され、複数の行がコピーされました。