Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Source As Range)
Application.EnableEvents = False
' Some code
Application.EnableEvents = True
End Sub
"一些代码"用于在用户在某个单元格中粘贴某个值时进行陷阱。如果在复制操作之后粘贴,则过程可以正常工作。如果粘贴值在切割操作之后,则在执行到达End Sub之后,程序再次启动,我无法确定发生了什么变化导致重新启动。
使用数据验证格式化源和目标单元格。
答案 0 :(得分:1)
试试这个,您可以看到第一个被触发的事件来自被切割的范围,第二个事件来自粘贴目的地。
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Source As Range)
Application.EnableEvents = False
Debug.Print Sh.Name, Source.Address()
Application.EnableEvents = True
End Sub