
Excel VBA 特定のシートを現在のブックの最後にコピーする操作。複数のシートを扱う際に、新しくコピーしたシートをブックの末尾に追加して整理するのに便利です。具体的な使い方や、注意点やサンプルコードを紹介します。
📌 「これ、自動化できたらラクなのに…」と思ったこと、ありませんか?
実はその作業、Excelマクロで簡単に自動化できるかもしれません。
「でもマクロって難しそう…」という方のために、完全初心者向けの入門記事をご用意しました!
👇実務で“そのまま使える”テンプレ付きで、コピペするだけ!
初心者向けエクセルマクロの作り方を解説|コピペOK実務テンプレ付き
Excel VBAでシートを末尾にコピーする用途とメリット
以下のようなシーンで利用されます。
・毎月のデータを記録するため、月ごとのシートをコピーし、末尾に追加
・複数のシートがある場合に、元のシートを保護しながら、その複製を末尾に追加して編集を行う。
・作成中のレポートのシートをコピーして末尾に保存し、過去のシートと区別する。
シートを最後にコピーする方法と注意点|VBA手順ガイド
・コピー元のシートを選択し、そのシートをブックの末尾にコピーします。
・シート名の重複
シート名が重複する場合、自動的に「Sheet1(2)」などに変更されるため、必要に応じて名前を変更してください。
・リンク切れ
コピーするシート内に他のシートやファイルへのリンクが含まれている場合、リンクが正しく機能しているか確認してください。
Excel VBA|シートを末尾にコピーするコード例と解説
自分の実力を客観的にチェックしたい…。そんな方のために、自分に合ったスタート地点がわかる無料のExcelVBAベーシック選択問題集をご用意しました。
- Option Explicit
- Sub CopySheetToEnd()
- Dim wsCopy As Worksheet
- Dim wb As Workbook
- ' コピー元のシートを指定
- Set wsCopy = ThisWorkbook.Sheets("Sheet1")
- Set wb = ThisWorkbook
- ' シートを末尾にコピー
- wsCopy.Copy After:=wb.Sheets(wb.Sheets.Count)
- ' 完了メッセージ
- MsgBox "シートが末尾にコピーされました!"
- End Sub
1.Set wsCopy = ThisWorkbook.Sheets("Sheet1")
コピー元となるシートを指定します。この例では「Sheet1」です。
2.wsCopy.Copy After:=wb.Sheets(wb.Sheets.Count)
現在のブック (`ThisWorkbook`) の末尾にシートをコピーします。`wb.Sheets.Count` はシートの総数を取得し、末尾を指定しています。
3.MsgBox
コピー完了後に確認メッセージを表示します。
Excel VBAの「シートコピー 末尾」は、データ整理やシートの複製に便利です。特に、定期的に同じ形式のシートを扱う場合や、データの順序を維持したい場合に役立ちます。シート名の重複やリンクに注意しながら、効率的にシートを管理できます。
「Excel VBAで自動化するコードのベースが習得できる解説書」
Excel VBAエキスパートベーシックとスタンダード、どちらを選べばいいか判断が難しい…。そんな方のために、自分に合ったスタート地点がわかる無料のExcelVBAベーシック選択問題集を用意しました。
