VBA来保护Excel中“数据已validation”单元的复制

我试图限制一个范围,以便用户只能input-1和1之间的某个Excel文件的一定范围内的值。

这是我使用的代码,从“VBA for Dummies”,当数字在1-12之间时工作正常。

Private Sub Worksheet_Change(ByVal Target As Range) Dim VT As Long 'Do all cells in the validation range 'still have validation? On Error Resume Next VT = Range("InputRange").Validation.Type If Err.Number <> 0 Then Application.Undo MsgBox "Your last operation was canceled." & _ "It would have deleted data validation rules.", _ vbCritical End If End Sub 

但是,当我将excel文件的数据validation条件更改为-1和1之间的十进制数时,该范围就不再适用了。

有什么build议么? 谢谢。