excel

【Excel】エクセルのシートコピーで書式をそのまま別ファイルに移す方法(レイアウト保持・フォーマット維持)

当サイトでは記事内に広告を含みます

エクセルで作成した表のレイアウトや書式を別のファイルにそのままコピーしたい場合、単純なコピー貼り付けでは書式が崩れてしまうことがあります。

シートごとコピーする方法や形式を選択して貼り付ける方法を使うことで、書式を完全に維持したまま別ファイルへの移行が実現できます。

本記事では、エクセルのシートコピーで書式をそのまま別ファイルに移す方法をレイアウト保持・フォーマット維持・シート移動・コピーのテクニックの観点から解説していきます。

エクセルでシートを書式ごと別ファイルにコピーする基本的な方法

それではまず、エクセルのシートを書式ごと別ファイルにコピーするための基本的な方法について解説していきます。

書式を完全に保持したまま別ファイルに移行する最も確実な方法は、シート全体をそのままコピー(移動)する機能を活用することです。

「シートの移動またはコピー」機能で別ファイルにコピーする手順

コピーしたいシートのタブを右クリックして「移動またはコピー」を選択します。

「移動先ブック名」ドロップダウンから移動先のファイルを選択します(新しいブックを作成することも可能)。

「コピーを作成する」チェックボックスにチェックを入れてOKをクリックします。

チェックを入れない場合はシートが「移動」され、元のファイルからはシートが削除されます。

この方法では行列幅・書式・数式・コメント・印刷設定のすべてが保持されます。

複数シートをまとめて別ファイルにコピーする方法

複数シートを一括コピーする場合は、Ctrlキーで複数のシートタブを選択してから右クリック→「移動またはコピー」を実行します。

選択したすべてのシートが書式ごとまとめて別ファイルにコピーされます。

シート数が多いブックからテンプレート部分だけを抽出する際に非常に便利な方法です。

新しいブックとしてシートをコピーして保存する方法

「移動先ブック名」で「(新しいブック)」を選択すると、コピーしたシートだけを含む新しいエクセルファイルが作成されます。

作成された新しいブックを任意のファイル名で保存することで、書式を維持した独立したファイルが完成します。

特定のシートだけを独立ファイルとして配布したい場合に非常に役立つ方法です。

書式を保持したままデータをコピー・貼り付けする方法

続いては、書式を保持したままデータをコピー・貼り付けする方法を確認していきます。

シート全体ではなく特定の範囲を書式ごとコピーしたい場合は「形式を選択して貼り付け」の活用が有効です。

書式のみ・値と書式のセット・すべてを指定して貼り付けることでレイアウトを保持できます。

書式ごと別シートに貼り付ける手順

コピーしたい範囲を選択してCtrl+Cでコピーします。

貼り付け先シートのセルを選択してCtrl+Alt+V(形式を選択して貼り付け)→「すべて」を選択してOKをクリックします。

値・数式・書式・コメントがすべて貼り付けられます。

ただし列幅は「すべて」を選択しても自動的にコピーされない場合があるため、別途列幅のコピーが必要です。

列幅を含めて書式を完全に保持してコピーする方法

「形式を選択して貼り付け」→「列幅」を選択して貼り付けることで、列幅もあわせてコピーできます。

2回の貼り付け操作(1回目:すべて、2回目:列幅)を組み合わせることで完全な書式の移行が可能です。

または「形式を選択して貼り付け」→「書式」を選択することで書式のみをコピーする方法も有効です。

外部ファイルへの貼り付け時に書式が崩れる場合の対処法

別のエクセルファイルに貼り付けた際に書式が崩れる場合は、フォントが異なることが原因であることが多いです。

貼り付け先ファイルと同じフォントを使用しているか確認しましょう。

また、テーマの違いによって色が変わる場合は「貼り付けのオプション」から「元の書式を保持」を選択することで対処できます。

VBAを使った書式ごとのシートコピー自動化

続いては、VBAを活用した書式ごとのシートコピー自動化方法を確認していきます。

VBAを使えば複数シートを指定フォルダに個別ファイルとして書式ごとコピーする処理が自動化できます。

定期的に行う書式付きシートのコピー処理はVBAによる自動化が最も効率的です。

シートを別ファイルとして書式ごとコピーするVBAコード

Sub シートを別ファイルにコピー()
Dim ws As Worksheet
Dim newWb As Workbook
Set ws = ActiveSheet
ws.Copy
Set newWb = ActiveWorkbook
newWb.SaveAs “C:\出力フォルダ\” & ws.Name & “.xlsx”
newWb.Close
MsgBox “コピー完了”
End Sub

このコードはアクティブシートを別の新しいエクセルファイルとして書式ごとコピー・保存します。

ws.Copyメソッドはシートのすべての書式・数式・コメントを保持してコピーします。

全シートを個別ファイルとして一括出力するVBAコード

Sub 全シート個別ファイル出力()
Dim ws As Worksheet
For Each ws In Worksheets
ws.Copy
ActiveWorkbook.SaveAs “C:\出力フォルダ\” & ws.Name & “.xlsx”
ActiveWorkbook.Close
Next ws
MsgBox “全シートの出力が完了しました”
End Sub

ブック内の全シートをそれぞれ個別のエクセルファイルとして書式ごと出力するコードです。

月次レポートや部署別ファイルの一括作成に非常に有効な処理です。

まとめ

本記事では、エクセルのシートコピーで書式をそのまま別ファイルに移す方法をシート移動・形式指定貼り付け・VBAの観点から解説しました。

「移動またはコピー」機能を使ったシートのコピーは書式・レイアウト・印刷設定をすべて保持できる最も確実な方法です。

「形式を選択して貼り付け」→「すべて」と列幅のコピーを組み合わせることで範囲指定での書式移行も実現できます。

VBAのCopyメソッドを活用すれば全シートの個別ファイル化も自動化できます。

書式を保持したシートコピーの方法をマスターして、エクセルでのファイル管理・配布作業をさらに効率化していきましょう。