2016-01-29 141 views
1

下午好一切,Excel 2010中禁用右键菜单

我试图出现在Excel工作表限制右键菜单。我试图使用该代码:

Private Sub Workbook_BeforeRightClick(ByVal Target As Range, Cancel As Boolean) 
    MsgBox "Sorry! Right click is disabled!" 
    Cancel = True 
End Sub 

我是否错过了能让这项工作的东西?

感谢,

+0

代码为我工作,你有你的宏安全设置为禁用宏? – Sorceri

+0

我的宏安全性设置为启用全部。我是否被卡在错误的地方......?我/我可以将它放在特定的Sheet#下吗?还是需要将它放在模块中? –

+0

需要进入ThisWorkbook模块 – Sorceri

回答

0

您可以使用代码:

MsgBox "Sorry! Right click is disabled!" 
Cancel = True 

但要指定一个工作表,你需要打开该工作表的代码模块,并把它放在Worksheet_BeforeRightClick事件块以便最终结果如下所示:

Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean) 
    MsgBox "Sorry! Right click is disabled!" 
    Cancel = True 
End Sub 

编辑: 注意,特定工作表的模块中的事件是“Worksheet_BeforeRightClick”事件,但该工作簿模块具有“Workbook_SheetBeforeRightClick”。如果您希望每张纸,您将需要将工作表事件添加到每个所需的工作表。如果您希望它用于整个工作簿,则需要将工作簿事件放入工作簿模块中。

工作簿模块,它应该是这样的(“的ThisWorkbook”中的“第一册”项目是在左窗格中选择的模块): enter image description here

工作表模块,它应该是这样的(“Book1”项目中的“Sheet1(Sheet1)”是左窗格中选定的模块); enter image description here

语法差异是关键。

+0

与上面的代码不一样吗?无论我在哪里放置它,甚至在点击右键之前,我似乎都无法做到这一点。 –

+0

只需确认一下,当您尝试使用它时:打开代码编辑器(通过选择开发人员选项卡并单击“Visual Basic”或通过按Alt + F11键),然后导航到您希望在窗格中的工作簿在左侧,然后从该工作簿中的“Microsoft Excel Objects”文件夹中双击所需的工作表,然后将此代码放在那里? – elmer007

+0

我已经编辑的答案,指出一些具体哪些事件... – elmer007