新しいワークシートも含め、すべてのワークシートに同じヘッダー/フッターを設定するにはどうすればよいですか?

新しいワークシートも含め、すべてのワークシートに同じヘッダー/フッターを設定するにはどうすればよいですか?

同じヘッダーを適用するためのGoogleのヒットでは、すべてのシートをハイライトしてヘッダーを設定するように書かれています。追加した新しいシートにも同じヘッダーが適用されるようにするにはどうすればいいでしょうか。

答え1

最初の試みとして、このイベントを使用します:

Private Sub Workbook_NewSheet(ByVal Sh As Object)
   sh.range("A1").value = "xxx"
End Sub

このマクロは、ワークシートやモジュールまたはクラスとしてではなく、ワークブックに追加する必要があります。

別の方法としては、このために設計されたアドインを使用する方法があります。これは、すべてのワークブックでこの動作を実現することを目的としています。

答え2

これは、最初のシートから新しいシートにヘッダーとフッターをコピーする VBA コードです。これをThisWorkbookVBA エクスプローラー ( Alt+ F11) に挿入して保存します。新しいシートを追加すると実行されます。

4 行目の をSheet1最初のシートの名前になるように調整します。

Private Sub Workbook_NewSheet(ByVal Sh As Object)
   Dim Ws As Worksheet
   'Change "Sheet1" below to the name of sheet being copied
   Set Setup = Worksheets("Sheet1").PageSetup
    With ActiveSheet.PageSetup
     .LeftHeader = Setup.LeftHeader
     .CenterHeader = Setup.CenterHeader
     .RightHeader = Setup.RightHeader
     .LeftFooter = Setup.LeftFooter
     .CenterFooter = Setup.CenterFooter
     .RightFooter = Setup.RightFooter
     End With
End Sub

手動で実行したい場合は、最初の行を次のように変更します。

Sub CopyHeaderFooter()

すると、実行可能なマクロ ( Alt+ F8) として表示され、CopyHeaderFooter必要なときに実行できるようになります。

関連情報