Excel使用何时更改macros来链接不同工作表中的两个单元格

我有一个Excel工作簿与多个工作表。 我在WORKSHEET A中有一个单元,范围名称为TRACK1,工作单B中有一个单元,范围名称为TRACK2。

每个TRACK1和TRACK2从列表中进行validation。 用户可以从选中单元格时显示的下拉列表中更改单元格。

我希望能够允许用户更改任何其他也可以改变匹配。 改变TRACK1和TRACK2的值,反之亦然。

我知道如何做这个基本的macros,但如何阻止事件传播?

Private Sub Worksheet_Change(ByVal Target As Range) If Not Application.Intersect(Target, Range("TRACK1")) Is Nothing Then Range("TRACK2") = Range("TRACK1") End If If Not Application.Intersect(Target, Range("TRACK2")) Is Nothing Then Range("TRACK1") = Range("TRACK2") End If End Sub 

在工作表A的代码模块中,使用:

 Private Sub Worksheet_Change(ByVal Target As Range) Application.EnableEvents = False If Not Application.Intersect(Target, Range("TRACK1")) Is Nothing Then Worksheets("WORKSHEET B").Range("TRACK2") = Range("TRACK1") End If Application.EnableEvents = True End Sub 

在工作表B的代码模块中,使用:

 Private Sub Worksheet_Change(ByVal Target As Range) Application.EnableEvents = False If Not Application.Intersect(Target, Range("TRACK2")) Is Nothing Then Worksheets("WORKSHEET A").Range("TRACK1") = Range("TRACK2") End If Application.EnableEvents = True End Sub