You could make the macro ask for a password. So long as the user doesn't have the chops to go looking for the password in the VBA code itself this can be very, very easy.
Simply use an InputBox to ask for the password. If the input matches a given string you allow the macro to continue.
You could make it more complex but still relatively simple by translating the password text into numbers and performing mathematical operations on those numbers to create a simple "hash". Then you just take any Input and perform the same operations on it before running the compare.
This link shows how you can use this method to check for multiple possible passwords and do different things based on them: http://www.ozgrid.com/forum/showthread.php?t=68186&page=1
This link shows how to replace the input text with asteriks like a "real" password box: http://www.xcelfiles.com/API_09.html