禁用以下vba代码的所有粘贴功能
我正在excel中运行一个目标intersect方法,以防止用户在验证单元格上粘贴,问题是,我没有考虑所有的粘贴方法,并且pastespecial会覆盖单元格验证禁用以下vba代码的所有粘贴功能,vba,excel,copy-paste,Vba,Excel,Copy Paste,我正在excel中运行一个目标intersect方法,以防止用户在验证单元格上粘贴,问题是,我没有考虑所有的粘贴方法,并且pastespecial会覆盖单元格验证 Private Sub Worksheet_Change(ByVal Target As Range) If Not Intersect(Target, Range("I14:J1000")) Is Nothing Then On Error Resume Next ' In case there's been no pre
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("I14:J1000")) Is Nothing Then
On Error Resume Next ' In case there's been no previous action
' Check if the last action was a paste
If Left(Application.CommandBars("Standard").Controls("&Undo").List(1), 5) = "Paste" Then
Application.EnableEvents = False
Application.Undo
Application.EnableEvents = True
End If
End If
End Sub
我使用了下面的代码并将其绑定到Ctrl V,以便与目标格式匹配,但它覆盖了前面代码中的单元格验证:
Sub PasteWithDestinationFormatting()
ActiveCell.PasteSpecial (xlPasteValues)
End Sub
我假设我需要将=“Paste”更改为“PasteSpecial”,但它没有完成我希望它完成的任务,很可能是因为我没有PasteSpecial对象的正确位置
谢谢你的帮助 你为什么不测试一下你的理论(从谷歌搜索
Paste
和PasteSpecial
方法开始)?尽管如此,我不清楚你到底在做什么,但似乎你把一些简单的事情复杂化了。非vba解决方案-锁定单元格并保护工作簿。