There is no really elegant way to do this. There is one suggestion (which I have not confirmed) on this page. This implements workbook-level protection but only temporarily, long enough to prevent the sheet from being deleted:
You can prevent a sheet from being deleted via the Worksheet_BeforeDelete Event as follows:
This will protect all sheets from being deleted. However, if you add some event code like the following on the ThisWorkbook module:
The user will then be able to delete any other sheet as soon as they select it.
Bookmarks