I'm afraid your problem will be, that when user opens Excel workbook, and makes any changes in it, the Excel this user is working with is a copy of workbook in memory of user's computer (or e.g. in memory of some Terminal Server). The changes are saved to real workbook only when the workbook is saved. And any VBA code is running in memory in system and instance, the this particular user is working from.
And when several users are trying to force the save their own instances of same workbook practically at same time ...