Letztes Speicherdatum in Excel 2016 anzeigen lassen

Uwep3575

Cadet 1st Year
Registriert
Sep. 2018
Beiträge
10
Hallo und schönen guten Morgen,
ich würde gerne in einer Excel-Datei das letzte Speicherdatum anzeigen lassen. Ich habe schon Tips, die ich so im Netz gefunden habe, 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.
 
Die Infos findet man einfach in den Eigenschaften der Datei. Datei Rechts klicken und auf den Reiter Details gehen.
 
Sorry, ich habe mich vielleicht falsch ausgedrückt.
Ich möchte mir das in einer Zelle anzeigen lassen. ;);)
Ergänzung ()

Ich habe es mit diesem Code versucht, aber wie gesagt, es zeigt mir dann nur das Datum und die Uhrzeit an, wo ich die Funktion erstellt habe.

Sub Speicherdatum()
'
'Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
Range("K2").Value = Now()
'
Application.Goto Reference:="Speicherdatum"
Range("N28").Select
End Sub
 
Wie eben beschrieben habe ich das versucht und wie oben geschrieben bin ich kein Profi in Sachen Makro. Deshalb frage ich hier nach Hilfe wie das Makro z. B. aussehen müsste, oder besser gesagt, was ich da reinschreiben muss. Zuvor habe ich ja schon den Code des verwendeten Makros rein geschrieben. Vielleicht hast du ja einen Vorschlag was da zu ändern wäre?
 
Dein VBA Code ist schon fast richtig. Du darfst allerdings nicht den Teil mit dem Private Sub auskommentieren (Du musst die Hochkommas entfernen). Das Sub Speicherdatum() musst du dann löschen oder auskommentieren. Die Routine wird dann beim Speichern automatisch ausgeführt. Aktuell hast Du sie quasi mit Sub auf manuelle Auslösung gestellt.

Nachtrag: Den VBA Code darfst Du nicht in ein eigenes Modul, sondern in "DieseArbeitsmappe" schreiben. Sonst funktioniert die automatische Ausführung auch nicht.
 
Zuletzt bearbeitet: (Ergänzung)
Sir Humpton, was heißt auskommentieren?? Was muss dann da hin?
Sorry, aber ihr redet mit einem Anfänger was das betrifft. :confused_alt::confused_alt:

Kopiere den Code doch bitte einfach mal und ändere ihn entsprechend ab, das würde mir denke ich am meisten helfen.
 
Uwe, deshalb habe ich doch in Klammern geschrieben (die Hochkommas löschen).

Der nachfolgende Code sollte funktionieren, wenn Du ihn im VBA-Editor unter "DieseArbeitsmappe" ablegst. In dem Link von Thor oben sind auch Screenshots dazu, wo das ist, deshalb spare ich mir diese jetzt. Muss auch erstmal los zum Termin.

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
Range("K2").Value = Now()

Application.Goto Reference:="Speicherdatum"
Range("N28").Select
End Sub
 
Hallo und guten Morgen,

ich habe da nochmal eine Frage. Das Speicherdatum wird mir jetzt immer mit Uhrzeit korrekt angezeigt, allerdings bekomme ich jetzt immer folgende Fehlermeldung beim Speichern (siehe Bild).
Was läuft denn da jetzt falsch???
Ich habe den Code genau wie oben von Sir Humpton geschrieben eingegeben.
 

Anhänge

  • Unbenannt.JPG
    Unbenannt.JPG
    18,7 KB · Aufrufe: 566
Zuletzt bearbeitet:
Das ist ja lieb gemeint, aber wie oben schon beschrieben, bin ich Anfänger in Sachen Makros. Die Frage ist dann, was mach ich mit der Problemstelle?
Das wird mir jetzt angezeigt.
1537771062844.png
 
Was soll er denn an dieser Stelle machen?
Fuer die aktuelle Uhrzeit mit Datum ist nur die erste Zeile interessant ...
 
Vielen Dank für die Info.
Habe das raus genommen und jetzt funktioniert es.
Es soll mir ja nur immer das letzte Speicherdatum mit Uhrzeit angezeigt werden.
 
Also auch wenn diese Art und Weise funktioniert, ist die bessere und sauberere Variante dann doch über die Datei-Attribute zu gehen (beim "Öffnen" und "Nach dem Speichern").
Grund:
"BeforeSave" wird vor dem effektiven Speichern ausgeführt, d. h. wenn man mal über "Speichern unter" geht und dann abbricht, sich ewig Zeit lässt bei der Auswahl des Speicherortes oder der Speichervorgang fehlschlägt, stimmt Uhrzeit nicht mehr-

Der Unterschied im Ergebnis ist zwar nur marginal, aber wenn man es genau nehmen möchte, dann lieber folgende Variante verwenden:

In ein Modul einfügen:
Code:
Function GetDateLastModified()
    Dim fso As Object
    Set fso = CreateObject("Scripting.FileSystemObject")
   
    If fso.FileExists(ThisWorkbook.FullName) Then
        GetDateLastModified = fso.GetFile(ThisWorkbook.FullName).DateLastModified
    Else
        GetDateLastModified = "<Nocht nicht gespeichert>"
    End If
End Function

Unter ThisWorkbook einfügen:
Code:
Private Sub Workbook_AfterSave(ByVal Success As Boolean)
    Range("A1") = GetDateLastModified()  ' Zur Anzeige des neuen Speicher-Zeitpunktes nach dem Speichern
End Sub

Private Sub Workbook_Open()
    Range("A1") = GetDateLastModified() ' Zum Abrufen des letzten Speicherzeitpunktes beim Öffnen der Datei
End Sub
 
Zuletzt bearbeitet:
Hallo DPXone,

vielen Dank für die Info. Sehr interessant. Werde ich entsprechend ändern.

Gruß Uwe
 
Zurück
Oben