The best way of preventing the user from changing the data is to protect thesheet. If you macro needs to change it then you unprotect it in the macro,make the change, and reprotect it.To find out how to do this you could use the macro recorder.