As stated before sleep is not a good option as the user is not able to do anything in the meantime. application.ontime is a much better alternative. here an example: (m2 being the name of the macro that will be executed) time = Now + TimeValue("00:00:01") Application.OnTime time, "ThisWorkbook.m2"
Note that the smallest increment here is seconds. With the sleep function you can pause the code for milliseconds. with Application.OnTime time,"ThisWorkbook.m2", schedule:=False you can cancel the execution of the macro. This is only possible if Now () < time that means if the call has already been made (but not executed because another macros is currently active) the start of the macro cannot be prevented (well, actually you can close the workbook but that's not feasible). regards, lezley --~--~---------~--~----~------------~-------~--~----~ ---------------------------------------------------------------------------------- Some important links for excel users: 1. Excel and VBA Tutorials(Video and Text), Free add-ins downloads at http://www.excelitems.com 2. Excel tutorials at http://www.excel-macros.blogspot.com 3. Learn VBA Macros at http://www.vbamacros.blogspot.com 4. Excel Tips and Tricks at http://exceldailytip.blogspot.com To post to this group, send email to excel-macros@googlegroups.com If you find any spam message in the group, please send an email to: Ayush Jain @ jainayus...@gmail.com or Ashish Jain @ 26may.1...@gmail.com <><><><><><><><><><><><><><><><><><><><><><> HELP US GROW !! We reach over 5,000 subscribers worldwide and receive many nice notes about the learning and support from the group. Our goal is to have 10,000 subscribers by the end of 2009. Let friends and co-workers know they can subscribe to group at http://groups.google.com/group/excel-macros/subscribe -~----------~----~----~----~------~----~------~--~---