CreateDate in Fusszeile



Excel-Version: 10.0 (Office XP)
nach unten

Betrifft: CreateDate in Fusszeile
von: Patricia
Geschrieben am: 16.07.2002 - 10:28:59

Das Datum in der Fusszeile soll immer nur dann aktualisiert werden, wenn die Arbeitsmappe, resp. das Tabellenblatt neu gespeichert wird.

nach oben   nach unten

Re: CreateDate in Fusszeile
von: sam
Geschrieben am: 16.07.2002 - 10:35:24

Hi,

per Makro schauts so aus:


Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
  'Kontrolle, ob links unten bereits ein Datum steht...
  If IsDate(ActiveSheet.PageSetup.LeftFooter) Then Exit Sub
  
  'Aktuelles Datum links unten eintragen
  ActiveSheet.PageSetup.LeftFooter = Format(Date, "dd.mm.yyyy")
End Sub

sam

nach oben   nach unten

Re: CreateDate in Fusszeile
von: Patricia
Geschrieben am: 16.07.2002 - 19:08:59

Klappt leider nicht, habe aber ein Makro, welches funktioniert. Bedingung ist jedoch, dass in der Arbeitsmappe in einer beliebigen Zelle (im folgenden Beispiel B1) die Funktion HEUTE hinterlegt wird.

Option Explicit

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
Worksheets("Flow-Chart").PageSetup.PrintArea = ""
With Worksheets("Flow-Chart").PageSetup
.LeftFooter = Range("B1").Value
.LeftFooter = Format(Date, "dd.mm.yyyy")

End With
End Sub

Kannst Du mir weiterhelfen, wenn ich das CreateDate in eine bestimmte Zelle schreiben möchte? Vielen Dank zum voraus


nach oben   nach unten

Re: CreateDate in Fusszeile
von: Patricia
Geschrieben am: 16.07.2002 - 19:09:12

Klappt leider nicht, habe aber ein Makro, welches funktioniert. Bedingung ist jedoch, dass in der Arbeitsmappe in einer beliebigen Zelle (im folgenden Beispiel B1) die Funktion HEUTE hinterlegt wird.

Option Explicit

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
Worksheets("Flow-Chart").PageSetup.PrintArea = ""
With Worksheets("Flow-Chart").PageSetup
.LeftFooter = Range("B1").Value
.LeftFooter = Format(Date, "dd.mm.yyyy")

End With
End Sub

Kannst Du mir weiterhelfen, wenn ich das CreateDate in eine bestimmte Zelle schreiben möchte? Vielen Dank zum voraus


nach oben   nach unten

Re: CreateDate in Fusszeile
von: sam
Geschrieben am: 17.07.2002 - 07:29:00

Hallo Patricia,

muss kurz weiter ausholen:
1) das CreateDatum vom Sinn her sollte ja eigentlich garnicht mehr geändert werden. Wenn du also in B1 =Heute() stehen hast, wird immer beim Speichern das aktuelle Datum eingesetzt. Sinn?
Darum habe ich auch eine If-Anweisung geschrieben, wenn bereits ein Datum im Fußbereich steht, soll er es nicht verändern. Wenn das nicht gewünscht ist, dann einfach die If-Anweisung löschen.

2) da man das Datum ja eh nur 1x einträgt, könnte man sich überhaupt das Makro sparen, denn so trage ich das heutige Datum händisch ein und alles müsste passen.

3) Wenn du offenbar ein Datum in eine Zelle schreiben willst und immer beim Speichern soll das Datum in die Fußzeile wandern (was aber nicht dem CreateDatum im eigentlichen Sinne entspricht), sieht die Programmierung etwas anders aus:


Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
  'Kontrolle, ob links unten bereits ein Datum steht...
  If IsDate(ActiveSheet.PageSetup.LeftFooter) Then Exit Sub
  
  'Aktuelles Datum links unten eintragen
  ActiveSheet.PageSetup.LeftFooter = Format(Range("B1").Value, "dd.mm.yyyy")
End Sub

Bei deiner Anweisung schreibst du zuerst das datum von B1 rein und anschließend überschreibst du es sofort mit dem heutigen Datum (Date-Funktion).

Ich hoffe, ich konnte etwas helfen,
Sam

nach oben   nach unten

Re: CreateDate in Fusszeile
von: Patricia
Geschrieben am: 17.07.2002 - 11:21:23

Hallo Sam
Vielen Dank für Deine Bemühungen. Ich erkläre Dir mal, was ich wirklich möchte, ok? In meiner Arbeitsmappe mit 4 Sheets möchte ich in einer bestimmten Zelle das CreateDate haben, in einer weiteren Zelle soll das Datum immer dann aktualisiert werden, wenn die Arbeitsmappe neu gespeichert wird.
Besagte Arbeitsmappe wird von verschiedenen Usern benutzt. Daher soll das CreateDate nicht mehr verändert werden können und das Aktualisierungsdatum nur dann angepasst werden, wenn Änderungen vorgenommen wurden.
Ich habe in der Arbeitsmappe ein Tabellenblatt mit Basisdaten, also auch mit HEUTE() in Zelle "B1".
Hast Du einen Vorschlag? Wäre super!
Gruss Patricia

 nach oben

Beiträge aus den Excel-Beispielen zum Thema "Wertübergabe von TextBox in Tabellenzelle"