复制后只粘贴数值的快捷键


引言

禁用“复制粘贴剪切”快捷键也是为了保护Excel数据的完整性,避免因误触快捷键而意外覆盖或删除关键数据。

接下来,我将分享如何通过VBA代码实现这两个功能。

操作指南

1. 打开VBA编辑器,组合键是ALT+F11;

2. 在VBA编辑器左侧的列表中选择“ThisWorkbook”,然后在弹出的代码窗输入相应的VBA代码。

(1)若需限制Excel的“另存为”功能,可以输入以下代码:

当尝试进行保存操作时,此代码会弹出一个警告框提示“禁止另存为副本!”,并阻止保存操作。

```vba

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)

If SaveAsUI Then

MsgBox "禁止另存为副本!", vbCritical, "操作受限提示"

Cancel = True ' 阻止另存为操作

End If

End Sub

```

(2)若要禁用“复制粘贴剪切”快捷键,可以输入以下代码:

此代码段将在工作簿被激活时禁用复制、粘贴和剪切功能,并在工作簿被停用时恢复这些功能。

```vba

' 在工作簿激活时禁用复制、粘贴、剪切快捷键

Private Sub Workbook_Activate()

Application.OnKey "^c", "" ' 禁用Ctrl+C(复制)

Application.OnKey "^v", "" ' 禁用Ctrl+V(粘贴)

Application.OnKey "^x", "" ' 禁用Ctrl+X(剪切)

Application.CellDragAndDrop = False ' 禁用单元格的拖拽功能

End Sub

' 在工作簿停用时恢复复制、粘贴、剪切功能

Private Sub Workbook_Deactivate()

Application.OnKey "^c" ' 恢复Ctrl+C功能

Application.OnKey "^v" ' 恢复Ctrl+V功能

Application.OnKey "^x" ' 恢复Ctrl+X功能

Application.CellDragAndDrop = True ' 恢复单元格的拖拽功能

End Sub

```