Forum Discussion
prevent copy sheet within a workbook for a specific worksheet (deactivate RIGHT CLICK?)
How can I prevent the RIGHT CLICK on a worksheet (to deactivate "Delete". "Rename", "move or Copy" commands?);
protect workbook - would not work as it "freezes" all worksheets.
I want to prevent a specific worksheet from being deleted, renamed, moved or copied (duplicated).
Pressing Ctrl key + mouse dragging of sheet tab to the right also copy sheet - this also has to be deactivated.
My workbook consists of several worksheets, there is a specific sheet that is the template and I don't want it to be duplicated within the workbook but still enabling users to enter data to it.
Thanks a lot
You can block delete, copy, move of specific worksheet using VBA worksheet change event, however, the problem with macro based solution is, that If user does not enable macro, the protection is not enabled, and if workbook is opened with macros being disabled then worksheet isn't protected.
Lets assume you are protecting a specific worksheet called "Form" (as per your earlier examples) then placing this code into the worksheet will do the job.
If you download the attached workbook and enable macro. you cannot delete, move, copy the Form worksheet, while you can delete,move or copy other worksheets.
Private Sub Worksheet_Activate() ThisWorkbook.Protect "Hello" End Sub Private Sub Worksheet_Deactivate() ThisWorkbook.Unprotect "Hello" End Sub
8 Replies
- JamilBronze Contributor
You can block delete, copy, move of specific worksheet using VBA worksheet change event, however, the problem with macro based solution is, that If user does not enable macro, the protection is not enabled, and if workbook is opened with macros being disabled then worksheet isn't protected.
Lets assume you are protecting a specific worksheet called "Form" (as per your earlier examples) then placing this code into the worksheet will do the job.
If you download the attached workbook and enable macro. you cannot delete, move, copy the Form worksheet, while you can delete,move or copy other worksheets.
Private Sub Worksheet_Activate() ThisWorkbook.Protect "Hello" End Sub Private Sub Worksheet_Deactivate() ThisWorkbook.Unprotect "Hello" End Sub
- Lorenzo KimBronze Contributor
Mr Jamil Mohammad
Thank you for your unwavering assistance
The file book1 you sent was perfect - it blocked the insert,delete,move or copy mode!!
but as you know my worksheet "Form" has already a macro in it
how can I insert your macro?
I copied it at the end THEN AT THE BEGINNING of the existing macro -- it doesn't work :(
you have my file "EUREKA Desking Program..." - would you please show me how it is inserted into my worksheet.
Many thanks again
- JamilBronze ContributorHi, I sent you the file with the more changes that you asked in the VBA. please confirm.