You can hide your modules from view using the VBA Project Properties. Open the VBE(ALT+F11) and locate your workbook(project) in the project explorer on the left. If the project explorer is not open, use CTRL+R to open it. Right click on your project and select VBAProject Properties. On the protection tab, check "Lock project from viewing". Assign a password.
This will prevent MOST users from viewing the code. If that is not enough, then the Add-in approach might be best.
lenze