コピペ禁止を別アプローチで
Worksheet_Changeイベントで変更後の値を別変数にいったん退避
→セル自体はUndoで変更前に戻した後に
値だけ変更後のものに入れる
コピー元が複数セルだったりコピー先が結合されている場合
想定通りの動作にはならないので要検討
Private Sub Worksheet_Change(ByVal Target As Range) Dim vAfter As Variant Application.EnableEvents = False vAfter = Target.Value Application.Undo Target.Value = vAfter Application.EnableEvents = True End Sub
2016/12/12 追記 target複数選択されている場合、
target.cells(1).valueとかで解決できそうな。