复制后只粘贴数值的快捷键
引言
禁用“复制粘贴剪切”快捷键也是为了保护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
```