'当前工作表change事件 Option Explicit Private Sub Worksheet_Change(ByVal Target As Range) If Target.Column >= 7 And Target.Row >= 3 And Target.Count = 1 Then If Not IsNumeric(Target.Value) Then Exit Sub Dim i, sum, a a = IIf(Target.Column Mod 2 = 1, 7, 8) For i = a To a + 60 Step 2 '按一月31天计算 If IsNumeric(Cells(Target.Row, i)) Then sum = sum + Val(Cells(Target.Row, i)) Next Cells(Target.Row, a - 2) = sum End If End Sub