2017-01-16 51 views
2

我已經在這個題目讀了許多線程,但我發現的代碼似乎有沒有工作。我試圖禁用Excel電子表格中的「剪切」功能,並且我想讓該圖標變灰。禁止從Excel中「切」與VBA

我一直用這個代碼:

Sub WorkSheet_Activate() 
Application.CommandBars.FindControl(ID:=21).Enabled = False 
End Sub 

不過,我仍然可以使用「剪切」功能,而沒有任何問題.... 我也知道有一些功能,使您能夠禁用切/複製/粘貼,但我仍然希望在此電子表格中允許複製和粘貼。

在此先感謝您的幫助!

克里斯汀

回答

2

檢查的鏈接參考 - Disable Cut

嘗試是這樣的:

Option Explicit 
Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, _ 
ByVal Target As Excel.Range) 

Select Case Application.CutCopyMode 
Case Is = False 
'do nothing 
Case Is = xlCopy 
'do nothing 
Case Is = xlCut 
MsgBox "Please DO NOT Cut and Paste. Use Copy and Paste; then delete the source." 
Application.CutCopyMode = False 'clear clipboard and cancel cut 
End Select 

End Sub 

希望它能幫助。

+0

只是補充說,該小組是要發生在'ThisWorkbook'代碼窗格 – user3598756

+0

@ user3598756:啊,你是對的。感謝您指出這一點。抱歉忘了編輯。 –

+1

@RanadipDutta,你最好在你的答案中加上sub-placement問題,以便爲將來的讀者提供一個完整的問題,而不是要求他們閱讀閱讀評論,這既沒有授予也沒有(有時)簡單。一旦你應該審查你的答案,我會刪除我的評論 – user3598756