Исходя из вашего исходного запроса: если A2 и A3 оба имеют числовые значения, то A4 будет заполняться их суммой. Если они не числовые или нулевые, то A4 покажет ошибку. Если A4 перезаписывается, то это значение будет постоянным до тех пор, пока A2 или A3 не будут изменены снова. Чтобы добавить новые требования: Если A2 и A3 дали хорошую сумму для A4, и кто-то перезаписывает A4 новым числовым значением, то вы хотите, чтобы максимум был взят между A2+A3 и A4. Я предполагаю, что это должно отображаться в ячейке A5.
Добавление к исходному ответу:
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
If Not Intersect(Target, Range("A2:A3")) Is Nothing Then
If WorksheetFunction.Count(Range("A2:A3")) = 2 Then
Range("A4").Formula = "=A2+A3"
End If
ElseIf Not (Intersect(Target, Range("A4"))) Is Nothing Then
'Check for numbers in a2, a3, and a4
If IsNumeric(Range("A2").Value) And IsNumeric(Range("A3").Value) And IsNumeric(Range("A4").Value) Then
'If a2+a3 is greater than a4
If Range("A2").Value + Range("A3").Value > Range("A4").Value Then
'set the sum of a2 and a3 to cell a5
Range("A5").Value = Range("A2").Value + Range("A3").Value
Else
'set the value of cell a4 to cell a5
Range("A5").Value = Range("A4").Value
End If
End If
End If
End Sub