In addition to Ivan's fine code with command bars, here is an alternative approach that can be placed in the workbook module to cover cut, copy, paste, and drag & drop: Private Sub Workbook_Activate() Application.CutCopyMode = False Application.OnKey "^c", "" Application.CellDragAndDrop = False End Sub Private Sub Workbook_Deactivate() Application.CellDragAndDrop = True Application.OnKey "^c" Application.CutCopyMode = False End Sub Private Sub Workbook_WindowActivate(ByVal Wn As Window) Application.CutCopyMode = False Application.OnKey "^c", "" Application.CellDragAndDrop = False End Sub Private Sub Workbook_WindowDeactivate(ByVal Wn As Window) Application.CellDragAndDrop = True Application.OnKey "^c" Application.CutCopyMode = False End Sub Private Sub Workbook_SheetBeforeRightClick(ByVal Sh As Object, ByVal Target As Range, Cancel As Boolean) Cancel = True MsgBox "Right click menu deactivated." & vbCrLf & _ "Cannot copy or ''drag & drop''.", 16, "For this workbook:" End Sub Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range) Application.CutCopyMode = False End Sub Private Sub Workbook_SheetActivate(ByVal Sh As Object) Application.OnKey "^c", "" Application.CellDragAndDrop = False Application.CutCopyMode = False End Sub Private Sub Workbook_SheetDeactivate(ByVal Sh As Object) Application.CutCopyMode = False End Sub Try covering your bases with this in your Workbook module: Private Sub Workbook_Activate() With Application .CutCopyMode = False .CellDragAndDrop = False End With End Sub Private Sub Workbook_SheetBeforeRightClick(ByVal Sh As Object, ByVal Target As Range, Cancel As Boolean) Cancel = True MsgBox "Right click menu deactivated." & vbCrLf & _ "Cannot copy or ''drag & drop''.", 16, "For this file:" End Sub Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range) Application.CutCopyMode = False End Sub Private Sub Workbook_SheetActivate(ByVal Sh As Object) With Application .OnKey "^c", "" .CutCopyMode = False End With End Sub Private Sub Workbook_Deactivate() With Application .CellDragAndDrop = True .OnKey "^c" .CutCopyMode = False End With End Sub In the Thisworkbook object; Private Sub Workbook_WindowDeactivate(ByVal Wn As Window) Application.CutCopyMode = False End Sub Application.CutCopyMode=False And Also Sub DisableCopy() EnableControl 19, False ' copy EnableControl 21, False ' cut Application.CommandBars("Toolbar List").Enabled = False Application.OnKey "^C", "" End Sub Sub EnableCopy() EnableControl 19, True ' copy EnableControl 21, True ' cut Application.CommandBars("Toolbar List").Enabled = True Application.OnKey "^C" End Sub Sub EnableControl(Id As Integer, Enabled As Boolean) Dim CB As CommandBar Dim Ctrl As CommandBarControl On Error Resume Next For Each CB In Application.CommandBars Set Ctrl = CB.FindControl(Id:=Id, recursive:=True) If Not Ctrl Is Nothing Then Ctrl.Enabled = Enabled Next End Sub -------------------------------------------------------------------------'*** In a standard module *** Option Explicit Sub ToggleCutCopyAndPaste(Allow As Boolean) 'Activate/deactivate cut, copy, paste and pastespecial menu items Call EnableMenuItem(21, Allow) ' cut Call EnableMenuItem(19, Allow) ' copy Call EnableMenuItem(22, Allow) ' paste Call EnableMenuItem(755, Allow) ' pastespecial 'Activate/deactivate drag and drop ability Application.CellDragAndDrop = Allow 'Activate/deactivate cut, copy, paste and pastespecial shortcut keys With Application Select Case Allow Case Is = False .OnKey "^c", "CutCopyPasteDisabled" .OnKey "^v", "CutCopyPasteDisabled" .OnKey "^x", "CutCopyPasteDisabled" .OnKey "+{DEL}", "CutCopyPasteDisabled" .OnKey "^{INSERT}", "CutCopyPasteDisabled" Case Is = True .OnKey "^c" .OnKey "^v" .OnKey "^x" .OnKey "+{DEL}" .OnKey "^{INSERT}" End Select End With End Sub Sub EnableMenuItem(ctlId As Integer, Enabled As Boolean) 'Activate/Deactivate specific menu item Dim cBar As CommandBar Dim cBarCtrl As CommandBarControl For Each cBar In Application.CommandBars If cBar.Name <> "Clipboard" Then Set cBarCtrl = cBar.FindControl(ID:=ctlId, recursive:=True) If Not cBarCtrl Is Nothing Then cBarCtrl.Enabled = Enabled End If Next End Sub Sub CutCopyPasteDisabled() 'Inform user that the functions have been disabled MsgBox "Sorry! Cutting, copying and pasting have been disabled in this workbook!" End Sub '*** In the ThisWorkbook Module *** Option Explicit Private Sub Workbook_Activate() Call ToggleCutCopyAndPaste(False) End Sub Private Sub Workbook_BeforeClose(Cancel As Boolean) Call ToggleCutCopyAndPaste(True) End Sub Private Sub Workbook_Deactivate() Call ToggleCutCopyAndPaste(True) End Sub Private Sub Workbook_Open() Call ToggleCutCopyAndPaste(False) End Sub How to use: Copy above code for the standard module. 1. In Excel press Alt + F11 to enter the VBE. 2. Press Ctrl + R to show the Project Explorer. 3. Right-click desired file on left (in bold). 4. Choose Insert -> Module. 5. Paste code into the right pane. 6. Copy the code for the ThisWorkbook module. 7. In the project explorer, locate the ThisWorkbook object. 8. Double click the ThisWorkbook object. 9. Paste code into the right pane. 10. Press Alt + Q to close the VBE. 11. Save workbook before any other changes. 12. Close and reopen the workbook. Private Sub Workbook_BeforeClose(Cancel As Boolean) On Error Resume Next With Application .CellDragAndDrop = True .OnKey "^c" .OnKey "^v" .OnKey "^x" .OnKey "+{DEL}" .OnKey "^{INSERT}" .CutCopyMode = False End With Dim Ctrl As Office.CommandBarControl For Each Ctrl In Application.CommandBars.FindControls(ID:=19) 'copy Ctrl.Enabled = True Next Ctrl For Each Ctrl In Application.CommandBars.FindControls(ID:=21) ' Cut Ctrl.Enabled = True Next Ctrl For Each Ctrl In Application.CommandBars.FindControls(ID:=22) ' Paste Ctrl.Enabled = True Next Ctrl For Each Ctrl In Application.CommandBars.FindControls(ID:=755) ' Paste Special Ctrl.Enabled = True Next Ctrl End Sub Private Sub Workbook_Open() On Error Resume Next With Application .CutCopyMode = False .CellDragAndDrop = False .OnKey "^c", "" .OnKey "^v", "" .OnKey "^x", "" .OnKey "+{DEL}", "" .OnKey "^{INSERT}", "" End With Dim Ctrl As Office.CommandBarControl For Each Ctrl In Application.CommandBars.FindControls(ID:=19) ' Copy Ctrl.Enabled = False Next Ctrl For Each Ctrl In Application.CommandBars.FindControls(ID:=21) ' Cut Ctrl.Enabled = False Next Ctrl For Each Ctrl In Application.CommandBars.FindControls(ID:=22) ' Paste Ctrl.Enabled = False Next Ctrl For Each Ctrl In Application.CommandBars.FindControls(ID:=755) ' Paste Special Ctrl.Enabled = False Next Ctrl End Sub Private Sub Workbook_Activate() On Error Resume Next With Application .CutCopyMode = False .CellDragAndDrop = False .OnKey "^c", "" .OnKey "^v", "" .OnKey "^x", "" .OnKey "+{DEL}", "" .OnKey "^{INSERT}", "" End With Dim Ctrl As Office.CommandBarControl For Each Ctrl In Application.CommandBars.FindControls(ID:=19) ' Copy Ctrl.Enabled = False Next Ctrl For Each Ctrl In Application.CommandBars.FindControls(ID:=21) ' Cut Ctrl.Enabled = False Next Ctrl For Each Ctrl In Application.CommandBars.FindControls(ID:=22) ' Paste Ctrl.Enabled = False Next Ctrl For Each Ctrl In Application.CommandBars.FindControls(ID:=755) ' Paste Special Ctrl.Enabled = False Next Ctrl End Sub Private Sub Workbook_SheetBeforeRightClick(ByVal Sh As Object, ByVal Target As Range, Cancel As Boolean) Cancel = True MsgBox "Right click menu deactivated." & vbCrLf & _ "For this file:", 16, "" End Sub Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range) Application.CutCopyMode = False End Sub Private Sub Workbook_SheetActivate(ByVal Sh As Object) On Error Resume Next With Application .CutCopyMode = False .CellDragAndDrop = False .OnKey "^c", "" .OnKey "^v", "" .OnKey "^x", "" .OnKey "+{DEL}", "" .OnKey "^{INSERT}", "" End With Dim Ctrl As Office.CommandBarControl For Each Ctrl In Application.CommandBars.FindControls(ID:=19) ' Copy Ctrl.Enabled = False Next Ctrl For Each Ctrl In Application.CommandBars.FindControls(ID:=21) ' Cut Ctrl.Enabled = False Next Ctrl For Each Ctrl In Application.CommandBars.FindControls(ID:=22) ' Paste Ctrl.Enabled = False Next Ctrl For Each Ctrl In Application.CommandBars.FindControls(ID:=755) ' Paste Special Ctrl.Enabled = False Next Ctrl End Sub Private Sub Workbook_Deactivate() On Error Resume Next With Application .CellDragAndDrop = True .OnKey "^c" .OnKey "^v" .OnKey "^x" .OnKey "+{DEL}" .OnKey "^{INSERT}" .CutCopyMode = False End With Dim Ctrl As Office.CommandBarControl For Each Ctrl In Application.CommandBars.FindControls(ID:=19) ' Copy Ctrl.Enabled = True Next Ctrl For Each Ctrl In Application.CommandBars.FindControls(ID:=21) ' Cut Ctrl.Enabled = True Next Ctrl For Each Ctrl In Application.CommandBars.FindControls(ID:=22) ' Paste Ctrl.Enabled = True Next Ctrl For Each Ctrl In Application.CommandBars.FindControls(ID:=755) ' Paste Special Ctrl.Enabled = True Next Ctrl End Sub Option Explicit Private Sub Worksheet_Change(ByVal Target As Range) 'Only process changes in column A or B If Intersect(Target, Range("A:B")) Is Nothing Then Exit Sub If Me.Cells(Target.Cells(1, 1).Row, 3).Value > 10 Then Me.Cells(Target.Cells(1, 1).Row, 4).Value = Me.Cells(Target.Cells(1, 1).Row, 3).Value End If End Sub