如何在没有圆形错误的情况下使两个单元相互依赖?

时间:2015-04-17 16:47:49

标签: excel excel-vba excel-2013 vba

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

例如,如果用户更新A1(例如,5200),我想要自动更新B1(例如,100)。如果用户更新B1(例如,50),我想要自动更新A1(例如,2600)。同样适用于A2-B2和A3-B3。

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

1 个答案:

答案 0 :(得分:5)

根本不要使用公式。使用_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