2016-01-29 73 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