У меня есть этот код, который работает и вычисляет A1 на основе того, что в A2: A5. если у меня есть «1» в A2: A5, то A1 равно 4. Теперь я изменяю A1 на «3» и хочу посмотреть, каким будет A2: A5, но он возвращается к «4». Как я могу изменить этот макрос, чтобы это произошло? Мне нужно, чтобы это работало для любой ячейки в диапазоне A1: A5.
Private Sub Worksheet_Change(ByVal Target As Range)'
Dim A(1 To 5) As Range
Set A(1) = Range("A1")
Set A(2) = Range("A2")
Set A(3) = Range("A3")
Set A(4) = Range("A4")
Set A(5) = Range("A5")
If Intersect(Range("A1:A5"), Target) Is Nothing Then Exit Sub
Application.EnableEvents = False
A(1) = A(2) + A(3) + A(4) + A(5)
A(2) = A(1) - A(3) - A(4) - A(5)
A(3) = A(1) - A(2) - A(4) - A(5)
A(4) = A(1) - A(2) - A(3) - A(5)
A(5) = A(1) - A(2) - A(3) - A(4)
Application.EnableEvents = True
End Sub