Excel一覧 Excel操作・関数 シートのコピー・複製 シート操作

【Excel】シートをコピーして書式をそのまま保つ方法|罫線・背景色・列幅・印刷設定

Excelでシートをコピーする際、「セルの内容はコピーされたけれど、書式が崩れてしまった」「列幅や罫線が変わってしまった」という経験はありませんか?
特に見積書や請求書など、見た目が重要な帳票では、書式を崩さずにコピーすることが非常に大切です。

この記事では、Excelでシートをコピーして書式を完全に維持する方法について、基本の操作から応用テクニック、VBAによる自動化までを徹底解説します。

✅ 書式をそのままコピーしたい理由

  • 帳票やレポートの見た目を崩したくない
  • 印刷時のレイアウトを維持したい
  • フォント・色・罫線・背景色の再設定を避けたい
  • 列幅や行高さ、ページ設定を毎回調整する手間をなくしたい

実務では、見た目の統一感や印刷物の整合性が重要になるため、「書式そのまま」のコピーは必須スキルです。


参考:【Excel】シート・複数シートの一括コピーをする方法

✅ 方法1:シートごとコピーする(最も確実)

  1. コピーしたいシートのタブを右クリック
  2. 「移動またはコピー」を選択
  3. 「コピーを作成する」にチェックを入れる
  4. コピー先のブックまたは新規ブックを選択してOK

この方法では、セルの値・数式・書式・列幅・ページ設定すべてがそのまま複製されます。
最も確実に「書式そのままコピー」を実現できる方法です。


✅ 方法2:Ctrl+ドラッグでコピー(同じ効果)

  • コピーしたいシートタブを Ctrlキーを押しながらドラッグ
  • ドラッグ先に黒い▼が表示されたらマウスを離す

右クリックメニューと同じく、書式も完全コピーされます。
キーボード+マウスの組み合わせで素早く操作できるのが利点です。


✅ 方法3:別ファイルへコピーして書式を維持

  1. コピー元とコピー先のファイルを同時に開く
  2. コピー元シートを右クリック → 「移動またはコピー」
  3. コピー先のブックを選択し、「コピーを作成」にチェック

この場合も書式はそのままコピーされますが、数式参照が元ファイルを指す場合があるので注意が必要です。


参考:【Excel】シートを別ファイルにコピーする方法|手順・注意点・VBA自動化まで徹底解説

✅ 方法4:シート全体を選択して貼り付け(書式付き)

「値だけでなく書式も残したいが、シートそのものを複製できない」場合は、形式を選択して貼り付けを使います。

  1. Ctrl+Aでシート全体を選択
  2. Ctrl+Cでコピー
  3. 貼り付け先シートで右クリック →「形式を選択して貼り付け」
  4. 「書式」を選択してOK

この方法では、列幅は維持されないため、別途「列幅の貼り付け」を行う必要があります。


✅ 方法5:列幅や印刷設定も完全コピーする手順

Excelの「形式を選択して貼り付け」では、列幅印刷設定は別操作が必要です。

  • 列幅を維持 → 「形式を選択して貼り付け」→「列幅」
  • 印刷設定を維持 → ページレイアウトタブで手動調整、またはシートコピーで対応

■ 書式が崩れる原因と対策

原因対策
列幅・行高さの違い「列幅の貼り付け」「行高さの調整」を行う
印刷範囲の違いコピー後にページ設定を再確認
条件付き書式のリンク切れコピー後に条件付き書式のルールを見直す
外部参照の残り「データ」タブ →「リンクの編集」で解除

 

参考:【Excel】条件付き書式の基本とは?仕組みと設定方法をわかりやすく解説【初心者向け実務活用例つき】

参考:【VBA】印刷範囲を設定・調整する方法と活用例


✅ 方法6:VBAで書式ごとコピー(自動化)

手作業では時間がかかる場合、VBAで自動化するのが効果的です。

Sub シートを完全コピー()
    Dim ws As Worksheet
    Dim 新ブック As Workbook
    Dim 保存パス As String
    
    Set ws = ThisWorkbook.Sheets("請求書")
    ws.Copy
    
    Set 新ブック = ActiveWorkbook
    保存パス = "C:\Users\UserName\Documents\請求書_コピー.xlsx"
    
    新ブック.SaveAs Filename:=保存パス, FileFormat:=xlOpenXMLWorkbook
    新ブック.Close SaveChanges:=False
End Sub

このマクロは、罫線・背景色・フォント・列幅・印刷設定まですべてコピーします。


参考:【VBA】末尾にシートを追加する方法

✅ 方法7:複数シートをまとめてコピー(VBA応用)

Sub 複数シート完全コピー()
    Dim ws As Worksheet
    Dim 新ブック As Workbook
    Dim 保存パス As String
    
    保存パス = "C:\Users\UserName\Documents\"
    
    For Each ws In ThisWorkbook.Sheets
        ws.Copy
        Set 新ブック = ActiveWorkbook
        新ブック.SaveAs 保存パス & ws.Name & "_コピー.xlsx"
        新ブック.Close SaveChanges:=False
    Next ws
End Sub

 

参考:【VBA】コピーして貼り付けを繰り返す方法


■ 実務での活用例

  • 請求書テンプレートを顧客ごとに作成
  • 月次レポートの書式統一
  • 分析用ブック作成時に元データの見た目を維持
  • 社内フォーマットを複数部署に配布

参考:【Excel】月単位の日付計算をする方法【月末処理・締日・請求書にも使える!】

■ まとめ:シートコピーで書式を維持するには方法選びが重要

  • 完全コピーなら「シートごとコピー」が最も確実
  • 部分コピーなら「形式を選択して貼り付け+列幅」
  • 定期作業はVBAで自動化
  • コピー後は印刷設定・条件付き書式・リンクの有無を必ず確認

正しい手順を使えば、書式崩れを防ぎ、業務の効率化と品質維持が同時に実現できます。

-Excel一覧, Excel操作・関数, シートのコピー・複製, シート操作