Ich habe ein Problem, für das ich keine Erklärung habe.
Ich habe eine Datei, die sich selber nach dem Beenden wieder startet.
Ich beende die datei per macro
Sub Schließen()
ActiveWorkbook.Close savechanges:=False
End Sub
Den Grund für das neustarten konnte ich auf ein "Zeitmacro" begrenzen.
Das habe ich so aber schon in einer anderen Datei benutzt und da passiert es nicht.
Hier die "Macros"
Option Explicit
Dim datA As Date
Dim ET2 As Date
Sub startzeit()
On Error Resume Next
Application.OnTime EarliestTime:=datA, Procedure:="Schließen", Schedule:=False
datA = Now + CDate("1:00:00")
Application.OnTime datA, "Schließen"
Sheets("Leer").Cells(4, 1) = datA
restzeit
End Sub
Sub Schließen()
ActiveWorkbook.Close savechanges:=False
End Sub
Sub Zurücksetzen()
Application.OnTime EarliestTime:=datA, Procedure:="Schließen", Schedule:=False
Application.OnTime EarliestTime:=ET2, Procedure:="berechnen", Schedule:=False
End Sub
Sub restzeit()
On Error Resume Next
ET2 = Now + CDate("0:00:30")
Application.OnTime ET2, "berechnen"
End Sub
Sub berechnen()
Sheets("Leer").Cells(5, 1) = Sheets("Leer").Cells(4, 1) - Now
restzeit
End Sub
Die Macros sollen folgendes bringen:
Beim start der datei wird das macro Startzeit ausgeführt. Nach einer Stunde, soll das Programm automatisch geschlossen werden. In Zelle 4,1 wird die aktuelle Zeit plus 1 Stunde geschrieben.
Damit ich die Restlaufzeit in einer Userform anzeigen kann, starte ich das macro Restzeit.
Nach 30 sekunden startet es das macro berechnen. Dadurch wird in Zelle 5,1 die differenz zwischen zelle 4,1 und der aktuellen zeit eingetragen, auf die ich mit der Userform zugreife.
In der Arbeitsmappe habe ich noch folgendes macro:
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Zurücksetzen
End Sub
Also wenn ich das workbook num schließen will, wird erst noch das macro zurücksetzen ausgeführt. Wodurch beide Zeitschleifen beendet werden sollten.
Aber trotzdem startet die Datei automatisch wieder, obwohl sie komplett geschlossen ist und im Visual Basic Editor nichts mehr steht, neu.
Bitte helft mir!
Wo ist mein Fehler?
MFG
Karsten