I want to block user to make changes in multiple cells at a time (at certain
circumstances but disregard it now).

I have this code (in the change event procedure) to undo any changes occurs
with multiple cells:

...........

If undoing Then Exit Sub

If undoing = 0 And (Target.Columns.Count > 1 Or Target.Rows.Count > 1) Then
MsgBox "illegal operation."
undoing = 1
Application.Undo
undoing = 0
Exit Sub
End If

...........


' undoing is declared globally.


It works fine when i select 3 cells and hit delete, but when i drag and drop
it doubles the undo and cells go to the dragged place.
What to do? ( I am guessing that a "drag and drop" triggers the change event
2 times. )

Moreover, this way ( to undo with the help of the boolean undoing) seems
ugly to me. Any suggestions?