Recursive call on the worksheet change in VBA

2019-07-17 12:26发布

I have created the workbook with multiple sheet, i am trying to use WorkSheet_Change on Sheet1, i.e. something change on sheet1 is getting copied to sheet2. Similarly if anything change to Sheet2 i want to make similiar change on Sheet1 as well.

On doing so there is recursive call on both sheet please let me know how i can avoid this.

2条回答
疯言疯语
2楼-- · 2019-07-17 12:55

Put a new global variable in a Module and call it bAutoUpdating As Boolean for example.

When the _Change code runs it should set this to true. Also any change routine should not fire if this is true. At the end of each _Change routine set back to bAutoUpdating = false

查看更多
我命由我不由天
3楼-- · 2019-07-17 13:03

you should disable events when calling your macro:

Sub Donot_Fire_Events()
    Application.EnableEvents = False
    ' Coding to skip these events
    Application.EnableEvents = True
End Sub
查看更多
登录 后发表回答