You need to lock the sheets and only unprotect them in the Open event. Otherwise, they can disable macros and your code would not work.

See this for an example that relates a bit. http://www.vbaexpress.com/forum/showthread.php?t=22918