Deutsches Excel zeichnet Schrott auf beim Makro aufzeichnen von Kopf- und/oder Fusszeile

Hoppla. Da will ich doch mal schnell zeigen, wie einfach man ein Makro aufzeichnen kann, das Kopf- und Fusszeile automatisch beschriftet und dann kommt nur Schrott raus? Das Makro schreibt zwar irgendwas rein, aber überhaupt nicht das, was aufgezeichnet wurde.

Nach einiger Recherche fand ich die Lösung: Microsoft hat gepatzt. Aufgezeichnet werden die englischen Kürzel. Verwendet werden müssen aber die deutschen. Zumindest wenn man ein deutsches Excel hat, was ziemlich viele von uns haben dürften. Ganz blöd ist, dass die englischen und deutschen Kürzel verschiedene Bedeutung haben, was das Chaos verursacht.

Der folgende Code (Vielen Dank an rogstar aus dem Forum von Office-Lösungen…)

    With ActiveSheet.PageSetup
        .LeftHeader = ""
        .CenterHeader = ""
        .RightHeader = ""
        .LeftFooter = "&Z" & Chr(10) & "&F"
        .CenterFooter = "Seite &P von &N"
        .RightFooter = "Druck: &D-&T"
    End With

…erzeugt…

  • Links: Laufwerk, Pfad, Zeilenumbruch und Dateiname (bzw. die tatsächlichen Werte)
  • Mitte: Seite 1 von 1 (bzw. die tatsächlichen Werte)
  • Rechts: Druck: Datum – Uhrzeit

Daraus lässt sich eine Tabelle erstellen mit den zu verwendenden Werten:

&A Dateiname
&Z Pfad der Excel-Datei
&F Dateiname der Excel-Datei
&P Aktuelle Seite der Excel-Tabelle
&N Gesanmtseitenzahl der Excel-Tabelle
&D Aktuelles Datum
&T Aktuelle Uhrzeit

Sollen wir testen, ob es funktioniert? Lass uns das folgende Makro probieren:

Sub Varcheck()
    With ActiveSheet.PageSetup
        .BottomMargin = Application.InchesToPoints(3.1496062992126)
        .LeftFooter = "Dateiname: &A" & Chr(10) & "Pfad: &Z" & Chr(10) & "Dateiname: &F" & Chr(10) & "Seite: &P" & Chr(10) & "Gesamtseitenzahl: &N" & Chr(10) & "Datum: &D" & Chr(10) & "Uhrzeit: &T"
    End With
End Sub

Die LeftFooter-Anweisung schreibt eine Fusszeile, die alle Variablen aus der Tabelle mit Zeilenumbrüchen getrennt in die Fusszeile schreibt. Damit diese riesige Fusszeile genügend Platz hat, wird mit der BottomMargin-Anweisung ein gross genuger Fussabstand gesetzt.

Fazit: Makro für Kopf- oder Fusszeile aufzeichnen in Excel

Ohne rudimentäre VBA (Visual Basic for Application) Kenntnisse geht nichts. Zumindest bei den Kopf- und Fusszeilen. Du solltest wissen, wie Du ein Makro bearbeiten kannst.

Achtung!

Dieser Artikel wurde automatisiert vom alten CMS übernommen. Dort war er zuletzt am 26.03.2017 geändert worden. Bei der Konvertierung können sich Fehler eingeschlichen haben, wie zum Beispiel falsche Zeilenumbrüche, fehlende Bilder oder fehlende Zeichen. Wenn du einen solchen Fehler entdeckst, dann schreibe doch bitte einen Kommentar, damit ich das beheben kann.

Vielen Dank für deine Mühe.

Das könnte dich auch interessieren:

Kommentar hinterlassen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.