Habe ein kleines Problem mit der Application.Ontime Anweisung und weiß nicht genau wo der Fehler liegt...
Ich habe in meinen workbooks folgenden Code in einem Standardmodul, wobei bei einem Workbook_SheetChange Ereignis zuerst ein stop_Countdown und dann start_Countdown aufgerufen wird.
Option Explicit
Public Close_Time As Date
Sub start_Countdown()
Close_Time = Now() + TimeValue(Format(ThisWorkbook.Names("Timer").RefersToRange.Value, "hh:nn:ss"))
Application.OnTime Close_Time, "close_WB"
End Sub
Sub stop_Countdown()
On Error Resume Next
Application.OnTime Close_Time, "close_WB", , False
On Error GoTo 0
End Sub
Sub close_WB()
ThisWorkbook.Close True
End Sub
Funktioniert auch gut wenn nur ein Workbook mit diesem Code offen ist. Ich habe aber mehrere baugleiche Workbooks (mit exakt demselben Code) gleichzeitig offen. Arbeite manchmal aber nur in einem dieser offenen Workbooks. Meine Erwartung wäre dass obiger Code diejenigen Workbooks schließt, bei denen kein Workbook_SheetChange Ereignis den Timer resettet.
Es ist aber so dass alle Workbooks offen bleiben bis ich in keinem mehr arbeite und dann schließen sich alle Workbooks gleichzeitig. Es scheint also dass irgendwas vielleicht nicht gut referenziert ist, aber was?
Alles Liebe
Martin Gütlbauer