把你的三明治夹起来
Worksheet_Change
具有的事件
Application.EnableEvents=False/True
:
Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False
addrow
Application.EnableEvents = True
End Sub
原因很简单——当
工作表_更改
事件插入新行,它将更改工作表的内容,触发
工作表_更改
事件再次发生。
工作表_更改
事件再次插入新行,依此类推。无限循环:)
顺便说一句,最好的做法是使用错误处理(它会返回
Application.EnableEvents = True
即使发生错误
addrow
子程序):
Private Sub Worksheet_Change(ByVal Target As Range)
On Error GoTo ErrorHandler
Application.EnableEvents = False
addrow
ExitHere:
Application.EnableEvents = True
Exit Sub
ErrorHandler:
Resume ExitHere
End Sub