同じヘッダーを適用するためのGoogleのヒットでは、すべてのシートをハイライトしてヘッダーを設定するように書かれています。追加した新しいシートにも同じヘッダーが適用されるようにするにはどうすればいいでしょうか。
答え1
最初の試みとして、このイベントを使用します:
Private Sub Workbook_NewSheet(ByVal Sh As Object)
sh.range("A1").value = "xxx"
End Sub
このマクロは、ワークシートやモジュールまたはクラスとしてではなく、ワークブックに追加する必要があります。
別の方法としては、このために設計されたアドインを使用する方法があります。これは、すべてのワークブックでこの動作を実現することを目的としています。
答え2
これは、最初のシートから新しいシートにヘッダーとフッターをコピーする VBA コードです。これをThisWorkbook
VBA エクスプローラー ( 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
必要なときに実行できるようになります。