(VBA): Seitenlayout mit PAGE.SETUP festlegen
Excel Tipp #016 | 5.12.2024
Sie haben sicher schon die Erfahrung gemacht, dass das Einrichten des Seitenlayouts per VBA lange dauert. Besonders dann, wenn Sie die Einrichtung als Makro aufzeichnen, erzeugt der Makro-Rekorder sehr viel VBA-Code, dessen Abarbeitung mitunter verhältnismäßig lange dauert. Es gibt aber eine wenig bekannte Lösung, sämtliche Einstellungen mit einem einzelnen Befehl vorzunehmen: PAGE.SETUP.
Hierbei handelt es sich um ein sogenanntes Excel4-Makro. Dieser Aufruf stammt aus einer frühen Excel-Version, funktioniert aber bis heute (Excel 2016) noch immer einwandfrei – und schnell!
Ein Beispiel:
ExecuteExcel4Macro "PAGE.SETUP(""Meine Kopfzeile"",""&D"",0.4,0.4,0.8,0.4,,TRUE,TRUE,,2,9,,,,,,,,,)"
Der vorangegangene Aufruf stellt folgendes Seitenlayout ein:
- Ränder: links, rechts, unten auf 1 cm; oben 2 cm
- A4 Querformat
- Kopfzeile = „Meine Kopfzeile“
- Fußzeile = aktuelles Datum
- Gitternetzlinien drucken = ja
- Horizontal zentrieren = ja
Syntax im Detail:
ExecuteExcel4Macro "PAGE.SETUP(head, foot, left, right, top, bot, hdng, grid, h_cntr, v_cntr, orient, paper_size, scale, pg_num, pg_order, bw_cells, quality, head_margin, foot_margin, notes, draft)"
PAGE.SETUP erwartet für Tabellenblätter folgende Parameter:
head, foot
|
Texte und Formatcodes für Kopf- und Fußzeile
|
left, right, top, bot
|
Seitenränder, Angabe in Zoll
|
Hdng
|
Zeilen- und Spaltenüberschriften: TRUE aktiviert die Überschriften im Ausdruck
|
grid
|
Gitternetzlinien: Mit TRUE werden die Gitternetzlinien ausgedruckt
|
h_cntr, v_cntr
|
Horizontal und vertikal zentrieren: jeweils TRUE oder FALSE
|
orient
|
Ausrichtung: 1 = Hochformat, 2 = Querformat
|
paper_size
|
Papiergröße, z.B. 1 = Letter, 8 = A3, 9 = A4
|
scale
|
Skalierung in %
|
pg_num
|
Seitenzahl: Nummer der ersten Seite
|
pg_order
|
Seitenreihenfolge: 1 = nach unten, dann nach rechts; 2 = nach rechts, dann nach unten
|
bw_cells
|
Schwarzweißdruck: Mit TRUE werden Zellinhalte, Grafiken und Textboxen schwarz/weiß gedruckt.
|
quality
|
Druckqualität
|
head_margin, foot_margin
|
Ränder für Kopf- und Fußzeile, Angabe in Zoll
|
notes
|
Notizen drucken, TRUE druckt die Notizen
|
draft
|
Entwurfsmodus,
|
Eine ausführliche Syntax-Beschreibung samt aller Formatcodes finden sie hier: Page.Setup Excel Tipp 16.
Hinweise:
- Alle Angaben sind optional. Erfolgt für einen Parameter keine Angabe, wird die betreffende Einstellung nicht verändert.
- Texte müssen mit jeweils zwei Anführungszeichen vorne und hinten angegeben werden, weil wir ja eine Zeichenkette in einer Zeichenkette übergeben (siehe Beispiel).
- Für die Kontrolle des Seitenlayouts kann es hilfreich sein, sich die Schaltfläche „Seitenansicht und Drucken“ in die Symbolleiste für den Schnellzugriff zu holen.