Datumsfunktion in Excel
Hallo.
Ich möchte mit Excel eine Vorlage erstellen. In einer Zelle soll dabei das Datum erscheinen (quasi "=HEUTE()" ). Nun zu dem Problem. Wenn ich anhand der Vorlage ein Arbeitsblatt erstelle und abspeichere liegt das aktuelle Datum vor - öffne ich diese Datei zu einem späteren Zeitpunkt wieder, wird das Datum jedoch wieder aktualisiert. Genau das möchte ich nicht. Ich suche also eine Funktion wie "ERSTELLDATUM" oder ähnliches. Wäre schön wenn jmd. so etwas kennt.
Bis dann ...
Ich möchte mit Excel eine Vorlage erstellen. In einer Zelle soll dabei das Datum erscheinen (quasi "=HEUTE()" ). Nun zu dem Problem. Wenn ich anhand der Vorlage ein Arbeitsblatt erstelle und abspeichere liegt das aktuelle Datum vor - öffne ich diese Datei zu einem späteren Zeitpunkt wieder, wird das Datum jedoch wieder aktualisiert. Genau das möchte ich nicht. Ich suche also eine Funktion wie "ERSTELLDATUM" oder ähnliches. Wäre schön wenn jmd. so etwas kennt.
Bis dann ...
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 56663
Url: https://administrator.de/forum/datumsfunktion-in-excel-56663.html
Ausgedruckt am: 26.12.2024 um 21:12 Uhr
2 Kommentare
Neuester Kommentar
Hallo 2P!
Da mir ohne Verwendung von VBA dazu keine Lösung bekannt wäre, finde ich miniversum's Idee gut. Allerdings scheint es so, als würde bei benutzerdefinierten Vorlagen in den Eigenschaften der daraus entstehenden Arbeitsmappe das Erstellungsdatum der Vorlage (.xlt) gespeichert.
Auf die Schnelle fiele mir dazu folgender Workaround ein: Vor dem Speichern der Vorlage das Erstellungsdatum auf 0 setzen, beim Öffnen der neuen Mappe auf Basis der Vorlage das Erstellungsdatum überprüfen und, falls noch 0 (was es eigentlich sein muss), auf das aktuelle Datum setzen sowie die dafür zuständigen Makros löschen.
Dazu wäre folgendes nötig:
Ein Modul für die Function zum Auslesen des Datums:
sowie die beiden folgenden Makros in "Diese Arbeitsmappe":
Sehr elegant ist das nicht gerade, aber damit kann dann in einer Tabelle mit
oder über "Datei / Eigenschaften / Statistik" Datum (und Uhrzeit) der Erstellung der Arbeitsmappe ausgelesen werden.
Falls Du tatsächlich nur statisch in eine Zelle das Datum schreiben willst, müsstest Du im "Workbook_Open" nach dem "End If" folgende Zeilen einfügen:
Damit wird in die Zelle E2 der ersten Tabelle das Erstellungsdatum eingetragen und als Datum formatiert. In diesem Fall bräuchtest Du das oben beschriebene Modul mit der Function nicht zu erstellen.
Grüße
bastla
P.S.: Soviel übrigens zur Zuverlässigkeit der "Dateieigenschaften" in Office ...
Da mir ohne Verwendung von VBA dazu keine Lösung bekannt wäre, finde ich miniversum's Idee gut. Allerdings scheint es so, als würde bei benutzerdefinierten Vorlagen in den Eigenschaften der daraus entstehenden Arbeitsmappe das Erstellungsdatum der Vorlage (.xlt) gespeichert.
Auf die Schnelle fiele mir dazu folgender Workaround ein: Vor dem Speichern der Vorlage das Erstellungsdatum auf 0 setzen, beim Öffnen der neuen Mappe auf Basis der Vorlage das Erstellungsdatum überprüfen und, falls noch 0 (was es eigentlich sein muss), auf das aktuelle Datum setzen sowie die dafür zuständigen Makros löschen.
Dazu wäre folgendes nötig:
Ein Modul für die Function zum Auslesen des Datums:
Function Erstellungsdatum()
Erstellungsdatum = ThisWorkbook.BuiltinDocumentProperties(11)
End Function
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
ThisWorkbook.BuiltinDocumentProperties(11).Value = 0
End Sub
Private Sub Workbook_Open()
If ThisWorkbook.BuiltinDocumentProperties(11) = 0 Then
ThisWorkbook.BuiltinDocumentProperties(11).Value = Now
End If
ThisWorkbook.VBProject.VBComponents("DieseArbeitsmappe").CodeModule.DeleteLines 1, _
ThisWorkbook.VBProject.VBComponents("DieseArbeitsmappe").CodeModule.CountOfLines
End Sub
Sehr elegant ist das nicht gerade, aber damit kann dann in einer Tabelle mit
=Erstellungsdatum()
Falls Du tatsächlich nur statisch in eine Zelle das Datum schreiben willst, müsstest Du im "Workbook_Open" nach dem "End If" folgende Zeilen einfügen:
With ThisWorkbook.Worksheets(1).Range("E2")
.Value = ThisWorkbook.BuiltinDocumentProperties(11)
.NumberFormat = "mm/dd/yyyy"
End With
Grüße
bastla
P.S.: Soviel übrigens zur Zuverlässigkeit der "Dateieigenschaften" in Office ...