Zelleninhalt in Kopfzeile ausgeben

Hallo,
ich möchte einen bestimmten Zelleninhalt in der mittleren Kopfzeile ausgeben und einen weiteren in der rechten Kopfzeile.
Jetzt hab ich mal recherchiert und folgendes mittels Alt+F11 in mein Excel 2007-Tabellenblatt eingegeben (zum testen nur für die mittlere Kopfzeile):

Private Sub Workbook_BeforePrint(Cancel As Boolean)
ActiveSheet.PageSetup.CenterHeader = Range(„C1“).Value
End Sub

Dann gespeichert und geschlossen. Aber nach Klick auf „Seitenlayout“ bleibt die Kopfzeile leer.
Gespeichert habe ich alles als NAME.xlsm

Da ich keine Ahnung von Makros hab, weiß ich leider nicht mehr weiter…

Vielen Dank für Eure Lösungshilfe!

LG
wurschtbrot

Grüezi Wurschbrot

ich möchte einen bestimmten Zelleninhalt in der mittleren
Kopfzeile ausgeben und einen weiteren in der rechten
Kopfzeile.
Jetzt hab ich mal recherchiert und folgendes mittels Alt+F11
in mein Excel 2007-Tabellenblatt eingegeben (zum testen nur
für die mittlere Kopfzeile):

Private Sub Workbook_BeforePrint(Cancel As Boolean)
ActiveSheet.PageSetup.CenterHeader = Range(„C1“).Value
End Sub

Dann gespeichert und geschlossen. Aber nach Klick auf
„Seitenlayout“ bleibt die Kopfzeile leer.
Gespeichert habe ich alles als NAME.xlsm

Da ich keine Ahnung von Makros hab, weiß ich leider nicht mehr
weiter…

Der Code an sicht ist soweit OK - wo genau hast Du diesen denn gespeichert?

Im VBA-Editor gehören diese Zeilen in ‚Diese Arbeitsmappe‘ und nicht ins Codemodul eines einzelnen Tabellenblattes.

Mit freundlichen Grüssen

Thomas Ramel

  • MVP für MS-Excel -

Moin!

Der Code an sicht ist soweit OK - wo genau hast Du diesen denn
gespeichert?

Im VBA-Editor gehören diese Zeilen in ‚Diese Arbeitsmappe‘ und
nicht ins Codemodul eines einzelnen Tabellenblattes.

Anhand dieser Zeilen ist er nun ‚Diese Arbeitsmappe‘ gespeichert.
Funktioniert trotzdem nicht.
Muss man da noch irgendetwas aktivieren o.Ä.?

Danke, wurschtbrot

Grüezi Wurschtbrot

Der Code an sicht ist soweit OK - wo genau hast Du diesen denn
gespeichert?

Im VBA-Editor gehören diese Zeilen in ‚Diese Arbeitsmappe‘ und
nicht ins Codemodul eines einzelnen Tabellenblattes.

Anhand dieser Zeilen ist er nun ‚Diese Arbeitsmappe‘
gespeichert.
Funktioniert trotzdem nicht.
Muss man da noch irgendetwas aktivieren o.Ä.?

Hmmm, hast Du die Mappe mal geschlossen, Excel beendet und die Mappe neu geöffent (und dabei die Makros aktiviert)?

Wenn keine Nachfrage nach der Aktivierung der Makros kommt, mal die Makro-Sicherhiet auf ‚mittel‘ stellen und nochmals versuchen.


Mit freundlichen Grüssen

Thomas Ramel

  • MVP für MS-Excel -

Hallo,
der Code heißt ja „Before Print“. D.h. man muss erst auf „Drucken“ klicken, damit das Ergebnis angezeigt wird. Habe es geändert auf „Before Save“. Funktioniert tadellos.
Vielen Dank!

LG wurschtbrot

Grüezi Wursshtbrot

der Code heißt ja „Before Print“. D.h. man muss erst auf
„Drucken“ klicken, damit das Ergebnis angezeigt wird. Habe es
geändert auf „Before Save“. Funktioniert tadellos.

Eigentlich mach das Ganze ja erst Sinn, wenn die Mappe gedruckt wird - und da klappt es dann ja auch… :wink:


Mit freundlichen Grüssen

Thomas Ramel

  • MVP für MS-Excel -

Hy

Eigentlich mach das Ganze ja erst Sinn, wenn die Mappe
gedruckt wird - und da klappt es dann ja auch… :wink:

Je nachdem: in meinem Fall wird es aus Excel als PDF gespeichert… :wink:

LG

Grüezi Wurschtbrot

Eigentlich mach das Ganze ja erst Sinn, wenn die Mappe
gedruckt wird - und da klappt es dann ja auch… :wink:

Je nachdem: in meinem Fall wird es aus Excel als PDF
gespeichert… :wink:

…wenn auch du von Beginn weg die ganze Wahrheit sagen würdest wären solche Missverständnisse nicht notwendig…

Da ich PDF’s prinzipiell über einen PDF-Drucker erzeuge, der dann in allen Anwendungen genutzt werden kann, und Du darauf verzichtet hast, zu sagen, dass Du die Datei über das Office-AddIn speicherst, war dieser Punkt nicht wirklich klar.

BTW:
Auch das BeforeSave hat noch einen Haken - wenn Du den Wert in der Zelle änderst und dann als PDF exportierst ohne vorher zu speichern bleibt die alte Kopfzeile nach wie vor erhalten.
Daher würde ich überlegen auf das Change-Event auszuweichen und dieses auf die Zellen zu begrenzen, welche die anzuzeigenden Werte enthalten. Damit bist Du dann in jedem Fall auf der sicheren Seite…

Mit freundlichen Grüssen

Thomas Ramel

  • MVP für MS-Excel -