جرب هذا الكود
Private Sub Worksheet_Change(ByVal Target As Range)
Dim RB, RF, RJ, RN, My_rg As Range
Dim My_sh As Worksheet
Dim Oldval, Newval As Long
Set My_sh = Sheets("ورقة1")
Set RB = Range("b6:b36"): Set RF = Range("f6:f36")
Set RJ = Range("j6:j36"): Set RN = Range("n6:n36")
Set My_rg = Union(RB, RF, RJ, RN)
If Not Intersect(Target, My_rg) Is Nothing And Target.Count = 1 Then
With Application
.EnableEvents = False
.ScreenUpdating = False
.Calculation = xlCalculationManual
End With
Newval = Target.Value
Application.Undo
Oldval = Target.Value
Target.Value = Newval
Target.Offset(0, 2) = Target.Offset(0, 2) + Newval
End If
With Application
.EnableEvents = True
.ScreenUpdating = True
.Calculation = xlCalculationAutomatic
End With
End Sub