Пишу следующее:
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
Dim i As Integer
For i = 2 To 10
If IsNumeric(Cells(i, 3&).Value) And IsNumeric(Cells(i, 1&).Value) And IsNumeric(Cells(i, 2&).Value) Then
Application.EnableEvents = False
Cells(i, 3&).Formula = "=" & CStr(Cells(i, 3&).Value) & "+" & _
Cells(i, 1&).Address & "-" & Cells(i, 2&).Address
Application.EnableEvents = True
End If
Next i
End Sub
Каждый раз когда начинаю вводит данные в ячейки все значения пересчитываются заново, причём как-то косячно. Как сделать, чтобы в результирующей ячейки(например С2) данные хранились пока не будут изменены ячейки этой строки(А2 и В2). И при изменении добавлялось или отнималось только то значение, которое было введено.(если ввели в В2 то отнимаем от текущего значения В2, а А2 не учитываем )
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
Dim i As Integer
For i = 2 To 10
If IsNumeric(Cells(i, 3&).Value) And IsNumeric(Cells(i, 1&).Value) And IsNumeric(Cells(i, 2&).Value) Then
Application.EnableEvents = False
Cells(i, 3&).Formula = "=" & CStr(Cells(i, 3&).Value) & "+" & _
Cells(i, 1&).Address & "-" & Cells(i, 2&).Address
Application.EnableEvents = True
End If
Next i
End Sub
Каждый раз когда начинаю вводит данные в ячейки все значения пересчитываются заново, причём как-то косячно. Как сделать, чтобы в результирующей ячейки(например С2) данные хранились пока не будут изменены ячейки этой строки(А2 и В2). И при изменении добавлялось или отнималось только то значение, которое было введено.(если ввели в В2 то отнимаем от текущего значения В2, а А2 не учитываем )