kiVAR
Newbie | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору AndVGri а вот и я. извеняюсь если чтото непонятно объясняю, я в vba начинающий, как нетрудно догадаться, информацию в основном черпаю из разных источников в инете, поэтому может и пишу всякую ерунду Цитата: для примера: в ячейке Е2 было число 3. Вводим в ячейку С2 значение 5, получаем в Е2 (как расчёт по формуле) 8, затем в ячейку D2 вводим 4, получаем 8 - 4 = 4 | всё правильно так и надо Цитата: убери, неявной рекурсии нет | если убераю: Private Sub Worksheet_Change(ByVal Target As Excel.Range) Dim iRow As Long iRow = Target.Row If Target.Column = 4& Then If IsNumeric(Cells(iRow, 5&).Value) And IsNumeric(Cells(iRow, 4&).Value) Then Cells(iRow, 5&).Formula = "=" & Cells(iRow, 5&).Value & "-" & Cells(iRow, 4&).Address End If ElseIf Target.Column = 3& Then If IsNumeric(Cells(iRow, 3&).Value) And IsNumeric(Cells(iRow, 5&).Value) Then Cells(iRow, 5&).Formula = "=" & Cells(iRow, 5&).Value & "+" & Cells(iRow, 3&).Address End If End If End Sub то когда ввожу к примеру в то же С2 значение 5(в Е2 стоит значение 3) получаю в Е2 значение 10. Так как мне сделать чобы считало правильно и при это не отключать калькуляцию |