De code een beetje ingekort.
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
lr = Cells(Rows.Count, 2).End(xlUp).Row
If Not Intersect(Target, Range("C4:E" & lr)) Is Nothing Then
If Target.Count = 1 Then
If Target.Column = 3 Then Target.Offset(, 1) = Target.Offset(, 1) + Target.Value
Range("B4:E" & lr).Sort Range("D4"), 2, Range("E4"), , 2, , , xlNo
End If
End If
End Sub