Do you want them to be able to run the code, or don't you? If you do, put in in a workgroup template and apply password protection to the VBA project. Simple, safe, and effective.
You originally said:
That is precidely what a workgroup template with a protected VBA project achieves.
Password protection in the pre-Office 2007 environment was weak, being more suitable to keeping incompetent coders out of the VBA project than for security against determined hackers. The Office 2007 and later environment has much stronger security.
There's also a lot you can do to obfuscate your code, too, if that's what you want, such as:
• using the enumerated values of named constants instead of those constants' names;
• giving your variables meaningless or misleading names; and
• adding clutter by inserting modules, subs, functions, & code blocks that never get called.
Any password-based security is susceptible to brute-force attacks but that takes significant effort. Do you really think your (unappreciative) management & colleagues are going to invest that amount of effort just so they can mess with your code?
You being paranoid isn't proof your (unappreciative) management & colleagues are out to do harm and, more importantly, you have no right to keep code you're using at/for work from your organization's management. They have a right to review the code you're using to ensure it won't cause harm and/or give bogus results.