Question: Protecting workbook structure will prevent a user from deleting sheets. But how could I (using VBA) prevent a user from deleting a *particular* sheet I designate? I've seen examples where an active sheet is prevented from deletion by

```
Set mymenubar = CommandBars.ActiveMenuBar
mymenubar.Controls("Edit").Controls("Delete sheet").Visible = False

```

in its `Worksheet_Activate` event but that of course only works if the sheet is activated.  

Is there a way to prevent a sheet from being deleted whether active or no?  

For clarity: I'm fine with the user deleting some sheets, just not a couple of particular sheets.  

So protecting workbook structure won't work.

Answer: 
You cannot stop users to delete a particular sheet but you could use the `Workbook_BeforeSave()` event to prevent the workbook from being saved if a particular sheet is missing. The documentation on this event precisely shows how to allow saving a workbook only when certain conditions are met. See [http://msdn.microsoft.com/en-us/library/office/ff840057(v=office.14).aspx](http://msdn.microsoft.com/en-us/library/office/ff840057%28v=office.14%29.aspx)
The following disables the menu when you right click on tab. This stops the delete option being available.

```
Sub tab_rclick_off()
Application.CommandBars("Ply").Enabled = False
End Sub

```

The following turns the menu back on.

```
Sub tab_rclick_on()
Application.CommandBars("Ply").Enabled = True
End Sub

```

This option is simple, concise, prevents any issues with data entry/editing with protected sheets and can be called from anywhere in code, ie in conjunction with log on permissions can be given to some and not others etc. foremost yourself.