EDIT: If you are unable to use the built-in sharing functionality then an option might be to hold the data in a separate container (can be database tables, a JET (Access) database or even CSVs) and then have a read-only Excel file that interfaces with the data.
The advantages of this are ease of use for end-users as they retain the familiar design and UI of Excel and the abstraction of the data away from the front-end means no problems with concurrency and the data itself it can be better protected from unintended updates (validation etc. in front-end).
The disadvantage is that this requires a fair bit of set up (although you mention you're using VBA already so may have the skills to hand) and may only be appropriate in certain use cases.
Original answer: You can make it a Shared Workbook but be aware this does bring a few caveats and quirks relating to specific functionality and overall stability/robustness.
There are horror stories out there of locking, concurrency and data loss problems with shared workbooks, but in many cases they can work very well. I've personally used them with up to 20-odd concurrent users and if managed correctly and, critically, designed with collaborative working in mind, then they can work very well.