Excel letzte Speicher Datum anzeigen lassen

Su.

Lt. Junior Grade
Registriert
Apr. 2004
Beiträge
298
Hallo zusammen

Wie kann ich in Excel das letzte Speicher Datum in einem Feld der Tabelle siecht bar machen ?
 
Moin,

geht mit VBA sehr schön.

In das Modul "DieseArbeitsmappe" schreibst du entweder diesen Code:
Code:
Private Sub Workbook_Open()
    Range("A1") = FileDateTime(FullName)
End Sub
Dann wird bei jedem öffnen des Workbooks das letzte Speicherdatum in die Zelle A1 geschrieben.

Oder du baust in ein (neues) MODUL (!) eine Funktion ein:
Code:
Function LastSavedDate()
    Full_Name = ActiveWorkbook.Path & "\" & ActiveWorkbook.Name
    'LastSavedDate = Format(FileDateTime(Full_Name), "DD.MM.YYYY  HH.mm") 'Als Text
    LastSavedDate = FileDateTime(Full_Name)  'Als Datum
End Function
... welche du dann in jeder Zelle mit
Code:
=LastSavedDate()
aufrufen kannst. Das Datum musst du entsprechend formatieren. Oder di entfernst das Auslassungszeichen ( ' ) vor der 3. Zeile und setzt es vor die 4. Zeile. dann hast du den Wert als Text in der Zelle stehen.

Wie du zum VBA gelangst, kannst du an den verschiedensten Stellen nachlesen.
Ach ja, es wäre schöner gewesen, wenn du auch die Excel-Version angegeben hättest ...
 
hallo cpt. Nemo

eigentlich wäre das

geht mit VBA sehr schön.

In das Modul "DieseArbeitsmappe" schreibst du entweder diesen Code:
Code:

Private Sub Workbook_Open()
Range("A1") = FileDateTime(FullName)
End Sub
Eigentlich fast was ich brauche leider zeigt aber bei mir immer das öffnungs Datum und zeit an. Ich brauche aber wann es zuletzt Bearbeiter wurde das heisst wenn es nur geöffnet wird ohne Änderung muss das Datum der letzten Änderung angezeigt werden nicht des letzten öffnen.

So und jetzt reg ich mich jedes mal über die Makro sicherheits-Meldung auf beim öffnen obwohl ich Makro und vb gelöscht habe will adobe und Konsorten Makros installieren die ich nicht will wie kriege ich die wider weg trotz hoher Sicherheit! Wahr vorher so möglich.

ps: Version Excel 2003
 
OK,

dann wird eben beim Speichern das Datum in A1 geschrieben:
Code:
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
    Range("A1").Value = Now()
End Sub
Das klappert bestimmt, habe es probiert.

So und jetzt reg ich mich jedes mal über die Makro sicherheits-Meldung auf beim öffnen obwohl ich Makro und vb gelöscht habe will adobe und Konsorten Makros installieren die ich nicht will wie kriege ich die wider weg trotz hoher Sicherheit! Wahr vorher so möglich.
Wieso Adobe? Und was läuft denn nun da genau? Ach ja, mittlere Sicherheit ist schon OK und du kannst auch eigene Makros signieren.
 
Danke dir cpt. Nemo recht Herzlich damit klappt es nun ausgezeichnet :daumen::daumen::daumen:
 
Hallo und schönen guten Morgen,
ich würde auch gerne in einer Excel-Datei das letzte Speicherdatum anzeigen lassen. Ich habe die zuvor stehenden Tips schon angewendet und es wird mir auch ein Datum mit Uhrzeit angezeigt, allerdings nur von dem Zeitpunkt, wo ich die Funktion erstellt habe. Was läuft da falsch, oder muss ich was anderes eingeben?
Ich nutze Office 2016 Professionel und ich bin kein Profi was Makros betrifft.

Vielen Dank im Voraus für Eure Hilfe.
 
Uwe, Problem ist wie gesagt, dass Du den Code wahrscheinlich nicht an die richtige Stelle geschrieben hast. Workbook_Open oder _Close müssen wie oben beschrieben in das Modul "DieseArbeitsmappe".
 
Hallo zusammen

In der Hoffnung das hier noch jemand reagiert:

Ich habe nun Stunden verbratet um eine Antwort auf mein Problem zu finden.
Ich stehe was das ganze Coding anbelangt am Anfang und mir wäre es extrem wichtig das ich verstehe wo das Problem liegt.
Die Funktion des Codes verstehe ich im grossen und ganzen, denke ich jedenfalls.. aber trotzdem bekomme ich es nicht hin.
Kann ja auch an der Version liegen.. Ich arbeite auf OFFICE 365

Bitte lüncht mich nicht, ich weiss nicht mal wie ich die korrekt Codeanzeige hier ins Forum rein klatsche! :baby_alt:

Funzt einwandfrei, gibt mir aber nicht das gewünschte ergebnis - aber sehr nützlich! Danke

Private Sub Workbook_Open()
Range("A1") = FileDateTime(FullName)
End Sub


Ich würde das gerne mit einer neuen Funktion lösen.
Allgemeinde Frage: Kann ich das neue Modul in ein bestehendes einfügen oder macht man da sowieso immer ein neues, oder egal? (Da ich bereits ein Modul eingefügt habe, habe ich es nun in Modul 2 gepackt)

Soweit so gut, ich kann die Funktion "=LastSavedDate()" entsprechen in der Tabelle abrufen.
Nur funktioniert es nicht wie gedacht.
Ich habe einen Zeitpunkt drin, ja, aber er aktualisiert sich bei der Speicherung nicht, ich vermute es handelt sich hier immer noch um das Datum der Dateiöffnung. (Diese Aktualisiert sich aber nie mehr, auch beim erneuten öffnen nicht)

Siehe beigefügtes Bild, bitte erleuchtet mich! (Ja, ich habe die vorher getestete Funktion mit dem Öffnungsdatum-anzeigen bei der Arbeitsmappe wieder rausgenommen. :hammer_alt: Ausser einer "Copy-Paste-Sperre" die schon lange drin ist, habe ich keine VBA aktiv!)

Die Option mit der Hinzufügung der Funktion wäre für mich der Absolute Favorit um das zu lösen.

Liebe Grüsse
Ziri (Forum-Noob)
 

Anhänge

  • Bild 1.PNG
    Bild 1.PNG
    43,1 KB · Aufrufe: 75
Also grundsätzlich funktioniert auch nach 14 Jahren noch der Code von Post #2. Beide Codes zeigen das Datum der letzten Speicherung und nicht der letzten Öffnung des Dokuments. Siehe auch Dokumentation.

Dir geht es jetzt um die Aktualisierung. Du möchtest, dass beispielsweise Zelle A1 sofort aktualisiert wird, wenn das Dokument gespeichert wird. Richtig?

Wenn ja, dann folgenden Code im Modul "DieseArbeitsmappe" nutzen:
Code:
Private Sub Workbook_AfterSave(ByVal Success As Boolean)

    If Success Then
        Range("A1") = FileDateTime(FullName)
    End If

End Sub

Das ist natürlich jetzt nur vereinfachter Code. Damit wird der Zeitstempel im aktuell aktiven Blatt in Zelle A1 geschrieben. Wenn der Zeitstempel in ein bestimmtes Blatt geschrieben werden soll, dann nimmt man in Zeile 4 von meinem Code z.B. Sheets("NameVomBlatt").Range("A1") = FileDateTime(FullName).


EDIT:
Den Code mit Workbook_Open aus Post #2 sollte am besten mit ins Modul "DieseArbeitsmappe" übernommen werden.


EDIT 2:
Was auch geht und vielleicht besser ist:
Code:
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)

    Range("A1") = FileDateTime(FullName)

End Sub

Der Unterschied: Der 1. Code von mir aktualisiert die Zelle A1 erst nach dem Speichern. Der 2. Code hier im 2. EDIT aktualisiert die Zelle A1 vor dem Speichern des Dokuments. So wird die aktualisierte Zelle A1 auch mit gespeichert. Dann benötigst du den Workbook_Open-Code nicht.
Da musst du für dich selber entscheiden, welche Variante dir mehr zusagt...
 
Zuletzt bearbeitet:
  • Gefällt mir
Reaktionen: Ziri
Ich danke dir recht Herzlich Darkman!
Variante 2 ist für mich auch die optimale Lösung! Funktioniert.
 
  • Gefällt mir
Reaktionen: Darkman.X
Zurück
Oben