Hi all,

This may have been answered before but I've trawled the 'net and couldn't find a solution. I've a fairly big VBA project that pulls a lot of data from a SQL DB and does some formatting. The macro code can take up to 15minutes to complete depending on network traffic and that means the user can hold [Escape] and break the execution of the code leaving the workbook in a transitional state (I use a lot of protection code to stop users modifying sections of the sheets and this can be removed if the code is stopped in midsequence).

Is there anyway I can stop users from breaking the code execution? I tried using Application.OnKey "{esc}", "" in my Auto_Open routine to disable the [Escape] key when the workbook opens but this doesn't seem to work. They can break the code and also stop pivottables and querytables from completing their refreshing.

Any help would be much appreciated. Thanks.