使用vba禁用excel中的"cut"

Kri*_*ten 4 excel vba excel-vba

我已经阅读了很多关于这个主题的主题,但是我发现的代码似乎没有用.我试图从excel电子表格中禁用"剪切"功能,我希望图标变灰.

我一直在使用这段代码:

Sub WorkSheet_Activate()
Application.CommandBars.FindControl(ID:=21).Enabled = False 
End Sub
Run Code Online (Sandbox Code Playgroud)

但是,我仍然可以使用"剪切"功能而没有任何问题....我也知道有一些功能允许你禁用剪切/复制/粘贴,但我仍然希望在此电子表格中允许复制和粘贴.

在此先感谢您的帮助!

克里斯汀

Ran*_*tta 5

检查参考链接 - 禁用剪切

尝试这样的事情:

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
Run Code Online (Sandbox Code Playgroud)

希望能帮助到你.

  • @RanadipDutta,你最好在你的答案中添加子位置问题,以便为未来的读者提供一个完整的问题而不要求他们阅读评论阅读,这既不被授予也不(有时)容易.一旦你应该检讨你的答案,我将删除我的评论 (2认同)