Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
416to420
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
416to420
416to420
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Dynamische Kopfzeile

Dynamische Kopfzeile
Eva
Hi!
Ich habe einen Excel-Kalender erstellt und nach jedem Monat einen Seitenumbruch eingefügt. Nun möchte ich, dass auf jeder Seite als Kopfzeile d. Name des jeweiligen Monats steht.
Den Monatsnamen direkt in die Tabelle einfügen möchte ich nicht.
Gibt's da eine Möglichkeit?
Vielen Dank für eure Beiträge!
Eva

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Dynamische Kopfzeile
Christoph
Hi Eva,
nachdem du im Spolight-Forum ja mittlerweile eine negativen Bescheid bekommen hast, könnte ich mir da den folgenden Weg per VBA vorstellen:
Gib deine Werte für die Kopfzeile in ein Array ein.
Durchlaufe per VBA alle Seiten in einer Schleife und ändere hierbei die Einträge der Kopfzeile entsprechend deinem Array-Wert und drucke diese aus.
Gruß
Christoph
AW: Dynamische Kopfzeile
Eva
Hallo Christoph,
genau an sowas hätte ich auch gedacht, nur: wie kann ich die Seiten eines Worksheets durchlaufen? Hab dafür einfach keine Möglichkeit gefunden.
Gruß und Dank!
Eva
AW: Dynamische Kopfzeile
Christoph
Hallo Eva,
die Seiten lassen sich -über den Umweg- der PageBreaks-Eigenschaft des WorkSheets ermitteln.
Wahlweise VPagebreaks für vertikal und HPageBreaks für horizontal.
Logischerweise müssen dafür die Seiten zuvor eingerichtet sein - aber das sind sie ja bei dir - wie du schreibst.
ich hab da auch keinen fertigen Code parat, aber ich bin mir sehr sicher, dass das so funktioniert.
Gruß
Christoph
Anzeige
AW: Dynamische Kopfzeile
eva
Meintest du so:

Sub test()
Dim pg As HPageBreak
Dim i As Integer
i = 1
For Each pg In Worksheets(1).HPageBreaks
Worksheets(1).PageSetup.CenterHeader = i
i = i + 1
Next
End Sub

Das funktioniert leider auch nicht, denn der header wird natürlich für jede Seite aktualisiert. Vielleicht hättest du doch einen besseren Vorschlag? Oder mach ich da was falsch?
AW: Dynamische Kopfzeile
Christoph
Hi Eva,
damit stellt du ja bestenfalls die Kopfzeile so oft um, bis deine Schleife durchlaufen ist und mit der letzten Einstellung druckst du dann.
Du musst innerhalb der Schleife drucken.
das könnte ungefähr so aussehen (ungetestet)

Sub Druck()
Dim i%, arr
arr= Array("deine Werte")
With ActiveSheet
For i = 0 To .HPageBreaks.Count
.PageSetup.CenterHeader = arr(i)
.PrintOut From:=i+1 To:=i+1
Next
End With
End Sub

Gruß
Christoph
('ne Rückmeldung wäre nett)
Anzeige
AW: Dynamische Kopfzeile
eva
Hallo Christoph,
danke für den Code, dieser funktioniert bestens. Bin nicht auf die Idee gekommen, den Druckbefehl direkt in die Schleife einzubauen. Allerdings in der Seitenansicht kann ich die Kopfzeile nicht wie gewünscht erscheinen lassen, oder?
DANKE FÜR DEINE HILFE - ECHT SUPER!
Eva
Danke für die Rückmeldung (m.T.)
Christoph
Hi Eva,
mit dem Code druckst du ja bei dem Schleifendurchlauf jeweils nur eine Seite aus.
Diese einzelne Seite kannst du dir auch in der Seitenansicht anschaun mit:
...
.PrintOut From:=i + 1 To:=i + 1, Preview = True
...
Eine Seitenansicht für alle Seiten gibt es hierfür nur über -Datei-Seitenansicht allerdings nicht mit der relevanten Kopfzeile - die erzeugst du erst beim Schleifendurchlauf.
Es freut mich, dir soweit geholfen zu haben. Ich bin auch erst durch deine Fragestellung auf diese Idee gekommen.
Gruß
Christoph
Anzeige
AW: Danke für die Rückmeldung (m.T.)
25.04.2004 21:13:05
eva
Hi Christoph,
also nochmals danke - werde mir das mit der Seitenansicht noch anschaun - echt toll, dass man immerwieder auf Unterstützung von den Spezialisten aus den Foren zählen kann :-)
Schöne Grüße,
Eva

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige