Problem mit Application.OnTime
12.05.2020 17:06:32
Enrico
Ich bin gerade dabei mich in die Tiefen der VBA vor zuarbeiten.
Jetzt beschäftigt mich folgendes Problem.
Ich habe eine Excel Datei die ich öffne und dann einige Daten eingebe. Wenn dies passiert ist lasse ich diese unter einem anderen Namen Speichern, weil die zuerst geöffnete Datei ohne die Daten erhalten bleiben soll.
Ab dem Zeitpunkt des speichern´s startet das Makro:
IN Diese Arbeitsmappe
Private Sub Workbook_AfterSave(ByVal Success As Boolean)
Call AutoSpeichernEinschaltenLF
End Sub
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Call AutoSpeichernAusschaltenLF
End Sub
IN MODUL
Option Explicit
Dim ZeitZuSpeichernLF As Date
Sub SpeichernLF()
ThisWorkbook.Save
Call AutoSpeichernEinschaltenLF
End Sub
Sub AutoSpeichernEinschaltenLF()
ZeitZuSpeichernLF = Now + TimeSerial(0, 2, 0) 'hier Intervall einstellen (h, m, s)
Application.OnTime ZeitZuSpeichernLF, "SpeichernLF"
End Sub
Sub AutoSpeichernAusschaltenLF()
On Error Resume Next
Application.OnTime ZeitZuSpeichernLF, "SpeichernLF", , False
End Sub
Nach dem schliessen der Mappe sollte das Makro ja beendet sein. Doch solange Excel weiterhin offen ist startet die zuvor gespeicherte Datei nach Ablauf der 2 min immer wieder.
Es kann auch sein das mehr als eine Datei die dieses Makro haben bearbeitet werden. Ich habe es auch schon probiert die Varriablen jeder Datei anders zu benennen, brachte aber auch nicht den Erfolg.
Vielleicht habt ihr eine Idee wo das Problem steckt.
Oder könnt mir eine andere Lösung oder Ansatz zeigen.
Vielen Dank schon einmal.