Excel VBA Zeitspeichern nach Öffnung
hi
Morning,
also ich bin dabei ein Makro zu erstellen was nach dem Öffnen einer Exceldatei per Intervall z.B. jede Stunde eine Sicherung macht, ich habe da schon was geschrieben was in die Richtung geht, das wenn ich die Excelmappe öffne der mir nach bsp. 2 Minuten die Datei speichert (Dateiname: Picking Monitor-13-44 Uhr 17_01), allerdings nur 1x und danach geht das Intervall nicht mehr von vorne los, ich bitte um Hilfe....hier das Makro
Sub auto_open()
t = True
zeit = Time + TimeSerial(0, 2, 0)
Application.OnTime zeit, "MTimesave"
End Sub
Sub Timesave()
Dim Datumzeitstempel As String
Dim Jetzt As Date
Jetzt = Now()
Datumzeitstempel = "Picking Monitor"
Datumzeitstempel = Datumzeitstempel & "-" & Format(Hour(Jetzt), "00") & "-" & Format(Minute(Jetzt), "00") & " Uhr " & Format(Day(Jetzt), "00") & "_" & Format(Month(Jetzt), "00")
ActiveWorkbook.SaveAs (ThisWorkbook.Path & "\" & Datumzeitstempel & ".xlsm")
End Sub
P.s. Intervall ist zum Test auf 2 Minuten von mir gestellt worden.
Morning,
also ich bin dabei ein Makro zu erstellen was nach dem Öffnen einer Exceldatei per Intervall z.B. jede Stunde eine Sicherung macht, ich habe da schon was geschrieben was in die Richtung geht, das wenn ich die Excelmappe öffne der mir nach bsp. 2 Minuten die Datei speichert (Dateiname: Picking Monitor-13-44 Uhr 17_01), allerdings nur 1x und danach geht das Intervall nicht mehr von vorne los, ich bitte um Hilfe....hier das Makro
Sub auto_open()
t = True
zeit = Time + TimeSerial(0, 2, 0)
Application.OnTime zeit, "MTimesave"
End Sub
Sub Timesave()
Dim Datumzeitstempel As String
Dim Jetzt As Date
Jetzt = Now()
Datumzeitstempel = "Picking Monitor"
Datumzeitstempel = Datumzeitstempel & "-" & Format(Hour(Jetzt), "00") & "-" & Format(Minute(Jetzt), "00") & " Uhr " & Format(Day(Jetzt), "00") & "_" & Format(Month(Jetzt), "00")
ActiveWorkbook.SaveAs (ThisWorkbook.Path & "\" & Datumzeitstempel & ".xlsm")
End Sub
P.s. Intervall ist zum Test auf 2 Minuten von mir gestellt worden.
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 179058
Url: https://administrator.de/forum/excel-vba-zeitspeichern-nach-oeffnung-179058.html
Ausgedruckt am: 19.04.2025 um 13:04 Uhr
2 Kommentare
Neuester Kommentar

Hi,
probiere das Timerereignis rekursiv in der Funktion (Timesave) zu starten.
Wenn Du die Datei schließt, musst Du ein zuvor festgelegtes Timerereignis löschen.
Des Weiteren können andere Gegebenheiten verhindern, das ein Timerereignis ausgelöst wird (z.B. eine Zelle wird editiert).
Gruß abaaba
probiere das Timerereignis rekursiv in der Funktion (Timesave) zu starten.
Wenn Du die Datei schließt, musst Du ein zuvor festgelegtes Timerereignis löschen.
sub auto_open()
.....
Timesave
End sub
sub Timesave()
.....
Application.OnTime Now+Timevalue("00:02:00"), "Timesave"
end sub
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Application.OnTime Now, "Timesave", false
end sub
Des Weiteren können andere Gegebenheiten verhindern, das ein Timerereignis ausgelöst wird (z.B. eine Zelle wird editiert).
Gruß abaaba