How to prevent others from inserting worksheet in Excel?
Supposing, you have a workbook which will sent to other users for viewing or checking its content, however, you don’t want others to insert any new worksheets to this workbook for preventing the workbook from becoming messy. In this article, I will talk about how to prevent others from inserting worksheets in a workbook.
Excel Productivity Tools
Office Tab: Bring powerful tabs to Office (include Excel), just like Chrome, Safari, Firefox and Internet Explorer. Save you half the time, and reduce thousands of mouse clicks for you. 30-day Unlimited Free Trial
Kutools for Excel: Save 70% of your time and solve 80% Excel problems for you. 300+ advanced features designed for 1500+ work scenario, make Excel much easy and increase productivity immediately.60-day Unlimited Free Trial
Excel provides a feature – Protect Workbook for you, with it, you can protect the workbook structure which will not be inserted, deleted, renamed or do other operations. Please do as follows:
1. Go to click Review > Protect Workbook, see screenshot:
2. In the Protect Structure and Windows dialog box, check Structure option, and enter your password into the text box, click OK to show the Confirm Password dialog, and reenter your password. See screenshots:
3. Then click OK to close the dialogs, and now when you insert new worksheet in this workbook, the insert worksheet feature will not be available.
Note: With this function, the following grey items enable to use in this workbook, too.
If you just want to prevent others from inserting worksheets, but also can do others operations, the above method has its limitation. Here, the following VBA code can do you a favor.
1. Open your workbook which you want to disable to insert worksheets.
2. Then hold down the ALT + F11 keys, and it opens the Microsoft Visual Basic for Applications window.
3. In the left VBAProject pane, double click ThisWorkbook to open the Module, then copy and paste the following code.
VBA code: prevent others from inserting worksheet
Private Sub Workbook_NewSheet(ByVal Sh As Object) 'Update 20140623 With Application Application.ScreenUpdating = False Application.DisplayAlerts = False Sh.Delete Application.DisplayAlerts = True Application.ScreenUpdating = True End With MsgBox "disable to add sheets" End Sub
4. Then save and close this code, return to the workbook, and now, when you try to insert a new worksheet into this workbook, a warning box will pop out to remind you can’t insert sheets. See screenshot:
Excel Productivity Tools
You are guest ( Sign Up? )
or post as a guest, but your post won't be published automatically.
To post as a guest, your comment is unpublished.· 2 years agoThis code does not work on a shared worksheet; when I click the "Insert Worksheet" tab I get "Run-time error 1004, Delete Method of Worksheet class failed". Can you give any advice on how to solve this?
To post as a guest, your comment is unpublished.· 3 years agoMost of time my user create more worksheet which is confusing this really helps me.