今日を乗り切るExcel研究所

Excel に働かされていませんか

Excel シートの体裁を統一したい

シート間でシートの体裁・レイアウトの書式をコピーする手順とそのマクロを検討します。

Excel 文書のレイアウトが微妙にずれる

Excel で定型文書を作成するときなど、決まった体裁のマスター(ひな形)となるシートをコピーして追加作成することはよくあります。

同じ体裁のはずなのに、文書編集中に書式を勝手に変更する人がいて、たとえばフォントサイズを変更したために行がずれ、印刷してから分かったりします。

またマスターシートの体裁に変更が入ったら、実文書シートにも統一的に反映させたいところです。

手作業でシート内の全書式を統一する

シートの書式を統一する手順を検討します。

「形式を選択して貼り付け」で「書式」のみを貼り付ける事で可能です。

マスターとなるシートを全体コピーして、別シートで「形式を選択して貼り付け」で「書式」を選択し、書式のみを貼り付けると、シート全体の書式を一致させることができます。

書式のみの貼り付けは、罫線などセルの書式、フォントや位置合わせのテキストの書式、日付など数式の書式、行幅と列の高さ、結合セル、条件付き書式など、すべての書式が適用されますが、値や数式といったセルの内容には影響を与えません。

書式のみ貼り付けのアクセスキーはCtrl + Alt + VTになります

【手順例】

  1. シートのセル全体を選択し、コピーします
    • キー操作: Ctrl + A (⇒ Ctrl + A) ⇒ Ctrl + C
      Ctrl +A1回で全選択にならない場合はもう一回実行します
  2. 体裁をそろえたいシートを開いて A1 セルを選択し、書式設定のみ貼り付けます
    • キー操作: Ctrl + HomeCtrl + Alt + VTEnter
  3. 複数複数シートで同操作を続行します。
    • キー操作: Ctrl + PageUp/PageDownCtrl + HomeAlt + Enter

複数シートを一括して揃えたいときは、シートを複数選択してから、貼り付けます。

他の Excel ファイルに貼り付けることもできます。

 



複数シートにレイアウト書式をコピーするマクロ

上記操作で十分だとは思いますが、

複数シートを選択後、このマクロ VBA を実行すると、表示されている(アクティブな)シートをマスターとして、その全書式を残りのシートに適用します。

取り消しはできませんので、注意してください。

Sub シートの書式を統一()
    If ActiveWindow.SelectedSheets.Count > 1 And ActiveSheet.Type = xlWorksheet Then
        ActiveWindow.SelectedSheets.FillAcrossSheets ActiveSheet.Cells, Type:=xlFillWithFormats
        ActiveSheet.Select
    Else
        Beep
    End If
End Sub

ちなみに、セルの結合を追加した場合、そのセル範囲に値が複数あっても、警告なしで結合されますが、値は失われず結合セルの裏に残っている状態になっています。

【使い方】

  1. 元となるシートを選択します
  2. 書式を貼り付けるシートを複数選択します
    • Ctrl キーを押しながら、対象シートのタブをクリックして選択
  3. 上記マクロを実行します
  4. 全ての対象シートの体裁が統一されています。
    • マクロ実行後は複数シート選択が解除されています

【注意】 本操作は「元に戻す」(Undo)ことはできません。

まとめ

シート間の体裁を統一するには、元となるシート全体をコピーし、書式のみを他のシートに貼り付けます。

本記事の内容は、Windows 10 の Excel 2013 で動作確認をしました。