
Excel VBA シートコピー書式そのままは、既存のシートを別のシートや別のブックにコピーする際に、シート内のデータや書式(フォーマット)をそのまま保った状態で複製する操作です。レイアウトやデザインが崩れることなくシートをコピーできます。具体的な使い方や、注意点やサンプルコードを紹介します。
👇実務で“そのまま使える”テンプレ付きで、コピペするだけ!
初心者向けエクセルマクロの作り方を解説|コピペOK実務テンプレ付き
Excel VBA シートコピー書式そのままの利用
以下のようなシーンで利用されます。
・テンプレートシートの作成で、特定の書式設定やデザインを保持したシートを複数作成する。
・バックアップで、シートの内容を他のブックにバックアップしたいときに、書式を崩さずにコピーする。
Excel VBA シートコピー書式そのまま|使い方とポイント
1.コピー元シートの選択
コピーしたいシートを選択し、そのシートを別の位置にコピーします。
2.書式を維持してコピー
シートの書式をそのまま維持するために、通常のシートコピーと同じ方法でコピーします。
・シートを別ブックにコピーする際、元のブックへのリンクが残る場合があります。その場合は、リンクを確認して修正する必要があります。
・同じブック内でコピーするとき、シート名が重複しないように注意してください。VBAが自動的に新しい名前を付けますが、目的に応じて手動で名前を変更することもできます。
Excel VBA シートコピー書式そのままのサンプルコード
📌 「これ、自動化できたらラクなのに…」と思ったこと、ありませんか?
実はその作業、Excelマクロで簡単に自動化できるかもしれません。
「でもマクロって難しそう…」という方のために、完全初心者向けの入門記事をご用意しました!
👇実務で“そのまま使える”テンプレ付きで、コピペするだけ!
初心者向けエクセルマクロの作り方を解説|コピペOK実務テンプレ付き
Option Explicit
Sub CopySheetWithFormatting()
Dim ws As Worksheet
Dim newWs As Worksheet
' コピー元シートを指定
Set ws = ThisWorkbook.Sheets("Sheet1")
' シートをコピーして新しいシートを作成
ws.Copy After:=ThisWorkbook.Sheets(ThisWorkbook.Sheets.Count)
' コピーされた新しいシートを取得
Set newWs = ThisWorkbook.Sheets(ThisWorkbook.Sheets.Count)
' 新しいシートの名前を変更
newWs.Name = "CopiedSheet"
' メッセージを表示
MsgBox "シートが書式を維持してコピーされました!"
End Sub
・ws.Copy After:=ThisWorkbook.Sheets(ThisWorkbook.Sheets.Count) で指定したシートを同じブック内にコピーします。コピー後、新しいシートが元のシートの書式やデータをそのまま引き継ぎます。
・newWs.Name = "CopiedSheet"でコピーされたシートの名前を変更しています。
・MsgBox 関数を使って、操作が完了したことをユーザーに知らせています。
Excel VBAのシートコピー機能を使うことで、書式を崩さずにシートを複製することが可能です。これはテンプレートを利用したり、書式が重要なデータを扱う場合に非常に有効です。注意点としては、リンクや名前の重複に気をつけてください。
「Excel VBAで自動化するコードのベースが習得できる解説書」