Zum Inhalt

Kopf- und Fußzeile gestalten mit VBA

Die Kopf- und Fußzeile einer Excel-Tabelle lässt sich über VBAMakros genauso flexibel und einfach gestalten, wie in Excel selbst.

Anforderungen

  • Ansprechen aller Header- und Footer-Bereiche
  • Flexible Benennung

Code

Option Explicit

Dim strUnternehmen As String
Dim strGroup As String



Sub KopfFuß() ' Fügt Kopf- und Fußzeile in jedes Tabellenblatt ein

strUnternehmen = "Mein Unternehmen"
strGroup = "Group"

Dim isht As Worksheet

For Each isht In ThisWorkbook.Sheets
    Call KopfFußzeile_alle_Tabellen(isht, strUnternehmen, strGroup)
Next

End Sub



Private Sub KopfFußzeile_alle_Tabellen(sht As Worksheet, strUnternehmen As String, strGroup As String)           ' KopfFußzeilendefinition
   With sht.PageSetup
        .LeftHeader = "Bearbeiter: " & strVerant_Personal
        .CenterHeader = "Lagertabelle für " & strUnternehmen
        .RightHeader = Date
        .LeftFooter = ""
        .CenterFooter = "© by " & strGroup
        .RightFooter = "Seite &P von &N"
    End With

End Sub

Der Code ist in drei Blöcke aufgeteilt. Im ersten Bereich werden zwei Variablen für die weitere Verwendung in diesem Modul definiert. Im zweiten Bereich werden den Variablen Werte zugewiesen

  • strUnternehmen = "Mein Unternehmen"
  • strGroup = "Group"

und es wird festgelegt, dass für die gesamte Arbeitsmappe die gleiche Kopz- und Fußzeile zu verwenden ist.

Dim isht As Worksheet

For Each isht In ThisWorkbook.Sheets
    Call KopfFußzeile_alle_Tabellen(isht, strUnternehmen, strGroup)
Next

Im dritten Teil sind die eigentlichen Einstellungen für Kopf- und Fußbereich zu finden. In Englisch wird der Kopf- und Fußbereich mit Header und Footer bezeichnet.

Private Sub KopfFußzeile_alle_Tabellen(sht As Worksheet, strUnternehmen As String, strGroup As String)           ' KopfFußzeilendefinition
   With sht.PageSetup
        .LeftHeader = "Bearbeiter: " & strVerant_Personal
        .CenterHeader = "Lagertabelle für " & strUnternehmen
        .RightHeader = Date
        .LeftFooter = ""
        .CenterFooter = "© by " & strGroup
        .RightFooter = "Seite &P von &N"
    End With

End Sub

Zu beachten ist, dass das Makro KopfFußzeile_alle_Tabellen zusammen mit dem Makro KopfFuß aufgerufen wird (Beachte Call-Befehlt).

Besonderheit

Im dritten Bereich ist eine Variable zu finden, die in diesem Modul nicht definiert wurde. Sie lautet strVerant_Personal. Die Variable wird aus einem anderen Makro geholt, damit in diesem Beispiel im Headerbereich die Personalnummer hinter dem Text Bearbeiter eingefügt wird, z.B. Bearbeiter: 1234

Gib mir gerne einen Kaffee ☕ aus ❗️

Wenn dir meine Beiträge gefallen und geholfen haben, dann kannst du mir gerne einen Kaffee ☕️ ausgeben.

Donation via PayPalDonation via LiberaPay

Donation via Bitcoin
Bitcoin Address: bc1qfuz93hw2fhdvfuxf6mlxlk8zdadvnktppkzqzj