Только с кодом
Если вы:
- щелкните правой кнопкой мыши вкладку листа
- Просмотреть код
- скопируйте и вставьте код ниже
Тогда ячейки с B1 по B5 будут содержать промежуточную сумму всех соответствующих значений от A1 до A5.Измените эту строку Set rng1 = Intersect(Target, Range("A1:A5"))
, чтобы задать диапазон, в котором работает код (текущие итоги добавляются к правому краю)
Private Sub Worksheet_Change(ByVal Target As Range)
Dim rng1 As Range
Dim rng2 As Range
Set rng1 = Intersect(Target, Range("A1:A5"))
If rng1 Is Nothing Then Exit Sub
Application.EnableEvents = False
For Each rng2 In rng1.Cells
rng2.Offset(0, 1).Value = rng2.Offset(0, 1).Value + rng2.Value
Next
Application.EnableEvents = True
End Sub
[обновлено - для дополнительного запроса вы можете попробовать это]
Private Sub Worksheet_Change(ByVal Target As Range)
Dim rng1 As Range
Dim rng2 As Range
Application.EnableEvents = False
Set rng1 = Intersect(Target, Range("A1:A5"))
If Not rng1 Is Nothing Then Call UpdateCells(rng1, 1)
Set rng1 = Intersect(Target, Range("D1:D5"))
If Not rng1 Is Nothing Then Call UpdateCells(rng1, 2)
Application.EnableEvents = True
End Sub
Sub UpdateCells(ByVal rng1, lngCol As Long)
Dim rng2 As Range
For Each rng2 In rng1.Cells
rng2.Offset(0, lngCol).Value = rng2.Offset(0, lngCol).Value + rng2.Value
Next
End Sub