Dim fromBreak As Boolean, x As Integer, selChangeAddress As String, dragStatus As Boolean
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Application.CellDragAndDrop = dragStatus
End Sub
Private Sub Workbook_Open()
dragStatus = Application.CellDragAndDrop
Application.CellDragAndDrop = False
End Sub
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
y = 0
On Error Resume Next
y = Target.Validation.Type
If x <> y And fromBreak = False And selChangeAddress = Target.Address Then
fromBreak = True
Application.Undo
fromBreak = False
End If
End Sub
Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
x = 0
On Error Resume Next
selChangeAddress = Target.Address
x = Target.Validation.Type
End Sub