PEBKAC Excel

PEBKAC with Excel

我在 Excel 2016 年使用我剪切和粘贴的 VBA 代码成功地禁用了右键菜单中的剪切,现在我不知道如何撤消我做了什么。

我是一名护士,具有 一些 技术知识(足以惹上麻烦...),我的领导团队正在引入基于 Excel。作为培训的一部分,他们说在任何情况下我们都不应该使用 cut 来重新安排分配,所以我决定看看是否有办法完全禁用 cut 的能力。

我找到了几个实现此目的的建议,并从几个网站复制粘贴了 VBA。在我反复试验的过程中,我使用键盘快捷键进行了多次测试,但没有意识到我已经在右键菜单中实现了这一点。 PEBKAC 时刻到来了,当时我在没有导出的情况下删除了模块,然后意识到我已经做了一个持久的改变,现在不知道如何撤销我所做的。

任何建议,或者我是否需要“寻求技术支持”?

编辑: 我知道我用过的两个是: 选项显式 Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, _ ByVal 目标为 Excel.Range)

Select 案例Application.CutCopyMode 案例是=假 '没做什么 案例是= xlCopy '没做什么 案例是= xlCut MsgBox "请不要剪切和粘贴。使用复制和粘贴;然后删除源。" Application.CutCopyMode = False '清除剪贴板并取消剪切 结束Select

结束子

...和...

http://www.vbaexpress.com/kb/getarticle.php?kb_id=373

我尝试编辑第二个,但没有明显的结果。

编辑 2: JNevill,固定!太感谢了,以后我不要再装傻了。

使用 that link I shared in the comments 中的代码向后工作,可能 运行 以下内容会让您回到起点(或接近起点):

Sub unBreakMyExcel()
    
    Dim cBar As CommandBar 
    Dim cBarCtrl As CommandBarControl 
    For Each cBar In Application.CommandBars 
        If cBar.Name <> "Clipboard" Then 
            'ID 21 is "Cut" 
            Set cBarCtrl = cBar.FindControl(ID:=21, recursive:=True) 
            If Not cBarCtrl Is Nothing Then cBarCtrl.Enabled = True 
        End If 
    Next 
End Sub 

*我自己还没有测试过。代码很旧,但我认为在制作 post 和你的 excel.

版本之间没有太大变化

这样做是遍历每个命令栏(应该包括 right-click 下拉菜单)并启用剪切功能(如果命令栏中存在)。