Sub Call_At_3_30() 'first call appropriate procedure Call myProcedure 'next, set new calling time Application.OnTime TimeValue("3:30:00"), "Call_At_3_30" End Sub Sub myProcedure 'your code here End Sub Application.OnTime Now + 1, "Call_At_3_30"