Supportnet / Forum / Tabellenkalkulation
Datumsangabe in Excel-Fußzeile
Frage
Hallo an alle Excel-Kenner (und Könner),
ich habe folgendes Problem:
Ich soll unter Excel 2000 eine Vorlage (.xlt) erstellen, in der in der Fußzeile das Erstell-Datum der Datei (xls) (nicht das aktuelle Datum, das ist kein Problem) automatisch eingetragen wird. Im Word gibt es ein entsprechendes Feld "CreateDate", im Excel habe ich kein entsprechenden Pendant gefunden. Wie kann ich das Problem noch lösen? Vielleicht mit einem Makro? Ich habe jedoch keine Ahnung von Makro-Programmierung.
Ich hoffe auf gute Ideen von euch.
Vielen Dank
websurfer
Antwort 1 von pistenschreck
Hallo websurfer
Unter DieseArbeitmappe
Private Sub Workbook_BeforePrint(Cancel As Boolean)
x = ActiveWorkbook.BuiltinDocumentProperties("Creation date")
With ActiveSheet.PageSetup
.RightFooter = x
End With
End Sub
Gruss Werner
Unter DieseArbeitmappe
Private Sub Workbook_BeforePrint(Cancel As Boolean)
x = ActiveWorkbook.BuiltinDocumentProperties("Creation date")
With ActiveSheet.PageSetup
.RightFooter = x
End With
End Sub
Gruss Werner
Antwort 2 von pistenschreck
Hallo websurfer
Wenn das Datumformat anders werden soll, dann ...
Private Sub Workbook_BeforePrint(Cancel As Boolean)
x = ActiveWorkbook.BuiltinDocumentProperties("Creation date")
x = Format(x, "YY.MM.DD hh:mm")
With ActiveSheet.PageSetup
.RightFooter = x
End With
End Sub
Gruss Werner
Wenn das Datumformat anders werden soll, dann ...
Private Sub Workbook_BeforePrint(Cancel As Boolean)
x = ActiveWorkbook.BuiltinDocumentProperties("Creation date")
x = Format(x, "YY.MM.DD hh:mm")
With ActiveSheet.PageSetup
.RightFooter = x
End With
End Sub
Gruss Werner
Antwort 3 von websurfer
Hallo Werner,
danke für deine Bemühungen. Ich habe dein Makro in die Datei kopiert-leicht verändert:
Sub Datum()
x = ActiveWorkbook.BuiltinDocumentProperties("Creation date")
x = Format(x, "DD.MM.YYYY")
With ActiveSheet.PageSetup
.RightFooter = x
End With
End Sub
Leider gibt es noch folgende Probleme:
1. Das Makro muss manuell gestartet werden. Lässt sich das mit dem Start des ersten Ausdruckes oder dem Erstellen der Datei aus der xlt-Vorlage verknüpfen?
2. Das Makro überschreibt die in der Fußzeile rechts vorhandene Seitenangabe. Links (.LeftFooter = x) geht auch nicht, da steht Dateipfad/ -name, Mitte wäre möglich, doch (.MiddleFooter = x) funktioniert nicht. Wie muss es richtig heißen?
Vielen Dank für deine Hilfe
websurfer
danke für deine Bemühungen. Ich habe dein Makro in die Datei kopiert-leicht verändert:
Sub Datum()
x = ActiveWorkbook.BuiltinDocumentProperties("Creation date")
x = Format(x, "DD.MM.YYYY")
With ActiveSheet.PageSetup
.RightFooter = x
End With
End Sub
Leider gibt es noch folgende Probleme:
1. Das Makro muss manuell gestartet werden. Lässt sich das mit dem Start des ersten Ausdruckes oder dem Erstellen der Datei aus der xlt-Vorlage verknüpfen?
2. Das Makro überschreibt die in der Fußzeile rechts vorhandene Seitenangabe. Links (.LeftFooter = x) geht auch nicht, da steht Dateipfad/ -name, Mitte wäre möglich, doch (.MiddleFooter = x) funktioniert nicht. Wie muss es richtig heißen?
Vielen Dank für deine Hilfe
websurfer
Antwort 4 von websurfer
Hallo Werner,
Ergänzung zu oben:
3. Das Datum soll in alle vorhandenen Blätter der Excel-Datei eingetragen werden.
Danke
websurfer
Ergänzung zu oben:
3. Das Datum soll in alle vorhandenen Blätter der Excel-Datei eingetragen werden.
Danke
websurfer
Antwort 5 von Pistenschreck
Hallo websurfer
Also, ist das Workbook_BeforePrint richtig. Das wird automatisch auf jeder Tabelle angewannt . Ansonsten kann ja jeder das Datum überschreiben.
Dein Problem heisst CenterFooter
Und das ist der Code:
Private Sub Workbook_BeforePrint(Cancel As Boolean)
x = ActiveWorkbook.BuiltinDocumentProperties("Creation date")
x = Format(x, "YY.MM.DD hh:mm")
ActiveSheet.PageSetup.CenterFooter = x
End Sub
Gruss Werner
Also, ist das Workbook_BeforePrint richtig. Das wird automatisch auf jeder Tabelle angewannt . Ansonsten kann ja jeder das Datum überschreiben.
Dein Problem heisst CenterFooter
Und das ist der Code:
Private Sub Workbook_BeforePrint(Cancel As Boolean)
x = ActiveWorkbook.BuiltinDocumentProperties("Creation date")
x = Format(x, "YY.MM.DD hh:mm")
ActiveSheet.PageSetup.CenterFooter = x
End Sub
Gruss Werner
Antwort 6 von websurfer
Hallo Werner,
ich stelle fest ich bin ein Makro-DAU, deshalb meine Fragen:
ich habe folgendes gemacht:
1. über Alt+F8 Makrofenster öffnen
2. Name für Makro angeben
3. <Erstellen> klicken, MS VisualBasic öffnet
4. obigen Text in Fenster kopieren (dabei die vorgegebene Zeile "Sub Name()" durch "Private Sub Workbook_BeforePrint(Cancel As Boolean)" ersetzen??
5. in MS VisualBasic xls-Datei speichern
6. erneuter Aufruf Makro über Alt+F8 --> Makro nicht da! (nach Eintippen von "workbook_beforeprint" kann Makro jedoch über <Bearbeiten> ausgewählt werden) ???
7. Datei trotzdem als Vorlage (xlt) gespeichert
8. neue Datei aus vorlage erstellt
9. neue Datei gedruckt --> kein Datum in Fußzeile
(10. Makro lässt sich aber auch nicht manuell starten, da über Alt+F8 nicht aufrufbar!)
was mach ich als DAU falsch??
Danke
websurfer
ich stelle fest ich bin ein Makro-DAU, deshalb meine Fragen:
ich habe folgendes gemacht:
1. über Alt+F8 Makrofenster öffnen
2. Name für Makro angeben
3. <Erstellen> klicken, MS VisualBasic öffnet
4. obigen Text in Fenster kopieren (dabei die vorgegebene Zeile "Sub Name()" durch "Private Sub Workbook_BeforePrint(Cancel As Boolean)" ersetzen??
5. in MS VisualBasic xls-Datei speichern
6. erneuter Aufruf Makro über Alt+F8 --> Makro nicht da! (nach Eintippen von "workbook_beforeprint" kann Makro jedoch über <Bearbeiten> ausgewählt werden) ???
7. Datei trotzdem als Vorlage (xlt) gespeichert
8. neue Datei aus vorlage erstellt
9. neue Datei gedruckt --> kein Datum in Fußzeile
(10. Makro lässt sich aber auch nicht manuell starten, da über Alt+F8 nicht aufrufbar!)
was mach ich als DAU falsch??
Danke
websurfer
Antwort 7 von Pistenschreck
Hallo websurfer
Unter DieseArbeitmappe
Was hast Du für ein Excel. Normal ruft man mit ALT+F11 das VBA-Projekt auf.
[img]http://www.uploadagent.de/files/1165489495/thumb_VBA.JPG[/img]
Und hier gehört mein Code hin.
Gruss Werner
Unter DieseArbeitmappe
Was hast Du für ein Excel. Normal ruft man mit ALT+F11 das VBA-Projekt auf.
[img]http://www.uploadagent.de/files/1165489495/thumb_VBA.JPG[/img]
Und hier gehört mein Code hin.
Gruss Werner
Antwort 8 von websurfer
Hallo Werner,
bei mir sieht das irgendwie anders aus, ich habe ein paar Screenshots gemacht. Zum ersten gelangte ich über Alt-F8
[img]http://i3.photobucket.com/albums/y55/u674525/Excel/01.jpg[/img]
[img]http://i3.photobucket.com/albums/y55/u674525/Excel/02.jpg[/img]
[img]http://i3.photobucket.com/albums/y55/u674525/Excel/03.jpg[/img]
[img]http://i3.photobucket.com/albums/y55/u674525/Excel/04.jpg[/img]
[img]http://i3.photobucket.com/albums/y55/u674525/Excel/05.jpg[/img]
[img]http://i3.photobucket.com/albums/y55/u674525/Excel/06.jpg[/img]
[img]http://i3.photobucket.com/albums/y55/u674525/Excel/07.jpg[/img]
Ich hoffe die screenshots helfen bei der Fehlersuche
Danke
Jens
bei mir sieht das irgendwie anders aus, ich habe ein paar Screenshots gemacht. Zum ersten gelangte ich über Alt-F8
[img]http://i3.photobucket.com/albums/y55/u674525/Excel/01.jpg[/img]
[img]http://i3.photobucket.com/albums/y55/u674525/Excel/02.jpg[/img]
[img]http://i3.photobucket.com/albums/y55/u674525/Excel/03.jpg[/img]
[img]http://i3.photobucket.com/albums/y55/u674525/Excel/04.jpg[/img]
[img]http://i3.photobucket.com/albums/y55/u674525/Excel/05.jpg[/img]
[img]http://i3.photobucket.com/albums/y55/u674525/Excel/06.jpg[/img]
[img]http://i3.photobucket.com/albums/y55/u674525/Excel/07.jpg[/img]
Ich hoffe die screenshots helfen bei der Fehlersuche
Danke
Jens
Antwort 9 von Pistenschreck
Hallo Jens
Hatte ein lange Leitung mit ALT+F8. Das ist Extras - Makro, aber da geht es nicht.
Drücke ALT+F11
Jetzt bist Du im VBA-Projekt Deiner Mappe.
Doppelklick auf DieseArbeitsmappe im linken obern Fenster.
Im rechten Fenster den ganzen Code hinein kopieren.
Private Sub Workbook_BeforePrint(Cancel As Boolean)
x = ActiveWorkbook.BuiltinDocumentProperties("Creation date")
x = Format(x, "YY.MM.DD hh:mm")
ActiveSheet.PageSetup.CenterFooter = x
End Sub
Gruss Werner
Hatte ein lange Leitung mit ALT+F8. Das ist Extras - Makro, aber da geht es nicht.
Drücke ALT+F11
Jetzt bist Du im VBA-Projekt Deiner Mappe.
Doppelklick auf DieseArbeitsmappe im linken obern Fenster.
Im rechten Fenster den ganzen Code hinein kopieren.
Private Sub Workbook_BeforePrint(Cancel As Boolean)
x = ActiveWorkbook.BuiltinDocumentProperties("Creation date")
x = Format(x, "YY.MM.DD hh:mm")
ActiveSheet.PageSetup.CenterFooter = x
End Sub
Gruss Werner
Antwort 10 von Pistenschreck
Hallo Jens
Hier mal eine Bsp-Datei. Diese Datei liegt aber nur 100 Tage auf den Server.
http://www.uploadagent.de/files/1165493310/JENS.xls
Gruss Werner
Hier mal eine Bsp-Datei. Diese Datei liegt aber nur 100 Tage auf den Server.
http://www.uploadagent.de/files/1165493310/JENS.xls
Gruss Werner
Antwort 11 von websurfer
Hallo Werner,
ich glaube wir kommen dem Ziel langsam näher.
Funktioniert (fast) perfekt - Danke!!
Das Datum wird jedoch nur auf dem ersten Blatt eingefügt, in den restlichen nicht (auch bei deinem Beispiel nicht). Vielleicht noch eine Idee dazu?
Danke
Jens
ich glaube wir kommen dem Ziel langsam näher.
Funktioniert (fast) perfekt - Danke!!
Das Datum wird jedoch nur auf dem ersten Blatt eingefügt, in den restlichen nicht (auch bei deinem Beispiel nicht). Vielleicht noch eine Idee dazu?
Danke
Jens
Antwort 12 von websurfer
Hallo Werner,
korrigiere:
Funktioniert prima, wenn ich jedes Blatt einzeln drucke. Wähle ich im Druckdialog jedoch "gesamte Arbeitsmappe", wird das Datum nur im ersten Blatt eingefügt.
Jens
korrigiere:
Funktioniert prima, wenn ich jedes Blatt einzeln drucke. Wähle ich im Druckdialog jedoch "gesamte Arbeitsmappe", wird das Datum nur im ersten Blatt eingefügt.
Jens

