避免VBA中的单元格更改recursion
用户input后,我需要对单元格进行一些操作。 现在,我正在做这样的事情:
Private Sub Worksheet_Change(ByVal Target As Range) If Not Intersect(Target, Target.Worksheet.Range("H5")) Is Nothing Then MyMacro End Sub
问题是, MyMacro
也在改变单元格,recursion调用Worksheet_Change
,导致堆栈溢出。
我怎样才能避免这一点,仍然能够从我的macros的细胞工作?
用这个:
Private Sub Worksheet_Change(ByVal Target As Range) Application.EnableEvents = False If Not Intersect(Target, Target.Worksheet.Range("H5")) Is Nothing Then MyMacro Application.EnableEvents = True End Sub