如何使两个单元格相互依赖而没有循环误差



在Excel 2013中,我有单元格A1,A2和A3以及B1,B2和B3。A 列是年度计算,B 列是每周计算。

例如,

如果用户更新 A1(例如,5200 ),我想自动更新 B1(例如,100 )。如果用户更新B1(例如,50),我想自动更新A1(例如,2600)。A2-B2 和 A3-B3 也是如此。

当我尝试同时监视两者时,它会产生循环问题并且 Excel 崩溃。

那就不要使用公式了。使用如下所示的_Change事件:

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Cells.Count > 1 Then Exit Sub
If Intersect(Target, Range("A:B")) Is Nothing Then Exit Sub
Application.EnableEvents = False  'Prevent infinite looping
If Target.Column = 1 Then
    'User has changed something in column A:
    Target.Offset(0, 1).Value = Target / 52
Else
    'User has changed something in column B:
    Target.Offset(0, -1).Value = Target * 52
End If
Application.EnableEvents = True
End Sub

最新更新