Wie kann ich für alle Arbeitsblätter, auch für neue, die gleiche Kopf-/Fußzeile festlegen?

Wie kann ich für alle Arbeitsblätter, auch für neue, die gleiche Kopf-/Fußzeile festlegen?

Jeder Google-Treffer zum Anwenden derselben Kopfzeile besagt, dass alle Blätter markiert und eine Kopfzeile festgelegt werden soll. Wie kann ich sicherstellen, dass neue Blätter, die ich hinzufüge, auch dieselbe Kopfzeile erhalten, ohne immer

Antwort1

Als ersten Versuch würde ich dieses Ereignis verwenden:

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

Sie müssten dieses Makro zu Ihrer Arbeitsmappe hinzufügen, nicht zu einem Arbeitsblatt und nicht als Modul oder Klasse.

Eine andere Möglichkeit wäre die Verwendung eines dafür vorgesehenen Add-Ins. Damit soll dieses Verhalten in jeder Arbeitsmappe sichergestellt werden.

Antwort2

Hier ist VBA-Code zum Kopieren der Kopf- und Fußzeile vom ersten Blatt auf ein neues Blatt. Fügen Sie diesen in ThisWorkbookden VBA-Explorer ( Alt+ F11) ein und speichern Sie ihn. Er wird ausgeführt, wenn Sie ein neues Blatt hinzufügen.

Passen Sie die vierte Zeile, in der „ steht,“ Sheet1so an, dass dies der Name Ihres ersten Blattes ist.

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

Wenn Sie es manuell ausführen möchten, ändern Sie die erste Zeile in

Sub CopyHeaderFooter()

AltEs wird dann als ausführbares Makro ( + F8) mit dem Namen angezeigt , das CopyHeaderFooterSie bei Bedarf ausführen können.

verwandte Informationen