It works for my computer, so I thought it should be fine for you. Try replacing this code to add a delay before closing the book:

Sub Disable()
Dim d As Date
On Error Resume Next
Application.OnTime EarliestTime:=SchedRecalc, Procedure:=sMacro, Schedule:=False

d = Now + TimeValue("00:00:01")
While d < Now
    DoEvents
Wend
End Sub