Private Sub Worksheet_Change(ByVal Target As Range)
On Error Resume Next
If Target.Row < 5 Then Exit Sub
If Target.Column <> 7 Then Exit Sub
If Target.Value = "本月合计" Then
m = Target.Row - 1
i = Range("C" & m + 1).End(xlUp).Row
Range("H" & m + 1) = Evaluate("SUMPRODUCT(($B$6:$B" & i & "=$B" & i & ")*H$6:H" & i & ")")
Range("J" & m + 1) = Evaluate("SUMPRODUCT(($B$6:$B" & i & "=$B" & i & ")*J$6:J" & i & ")")
ElseIf Target.Value = "本年累计" Then
n = Target.Row - 2
Range("H" & n + 2) = Evaluate("SUMPRODUCT(($B$6:$B" & n & ">0)*H$6:H" & n & ")")
Range("J" & n + 2) = Evaluate("SUMPRODUCT(($B$6:$B" & n & ">0)*J$6:J" & n & ")")
End If
End Sub