ich brauch nochmal eure Hilfe. Ich hab eine Userform, dass immer zu jeder Stunde um xx:41 automatisch erscheint. Dies dient dazu, dass zu dieser Zeit Werte in das Userform eingegbenen werden müssen. Es funktioniert super.
Wenn man jetzt aber das Userform eine Stunde nicht anrührt (weil man gerade nicht am Platz ist), versucht Excel es erneut zu öfnnen und es kommt ein Fehler.
Wie kann ich das umgeben? Eventuell schließt er es automatisch nach 40minuten?
Anbei der Code sowie das erstellte Excel in gekürzter Form.
Diese Arbeitsmappe:
Option Explicit
Private Sub Workbook_Open()
'--- automatischer erster aufruf beim Öffnen der Datei
Zeitmakro
Nächste = Date + TimeSerial(Hour(Now) - (Minute(Now) >= 41), 41, 0)
Application.OnTime Nächste, "Hinweis"
End Sub
Private Sub Workbook_BeforeClose(Cancel As Boolean)
'--- aufruf zurücknehmen, wenn Datei geschlossen wird.
On Error Resume Next
Application.OnTime EarliestTime:=DaEt, Procedure:="Zeitmakro", Schedule:=False
If Now
Modul1:
Option Explicit
Public DaEt As Date
Public Nächste As Date
Sub Zeitmakro()
ThisWorkbook.Worksheets("Tabelle1").Range("A1") = Format(Time, "hh:mm:ss")
UserForm1.Label1.Caption = Format(Time, "hh:mm:ss")
DaEt = Now + TimeValue("00:00:01")
Application.OnTime DaEt, "Zeitmakro"
End Sub
Sub Hinweis()
UserForm1.Show
Nächste = Date + TimeSerial(Hour(Now) - (Minute(Now) >= 41), 41, 0)
Application.OnTime Nächste, "Hinweis"
End Sub
Ehrlich gesagt scheue ich mich nicht zu sagen, dass ich den Code von einen von euch bekommen habe und nicht ganz nachvollziehen kann. Zum aufrufen des Userforms funktioniert es aber!
Anbei noch die File:
https://www.herber.de/bbs/user/106377.xlsm
Vielen Dank!