Sub 求和()
Dim ar As Variant
Dim i As Integer
With ActiveSheet
r = .Cells(Rows.Count, 1).End(xlUp).Row
ar = .Range("a4:ak" & r).Formula
For i = 3 To UBound(ar)
zr = 0: jb = 0: xj = 0
If Trim(ar(i, 1)) <> "" And InStr(ar(i, 1), "备注:") = 0 Then
For j = 3 To 33
xq = Weekday(ar(1, j), vbMonday)
If xq = 7 And Trim(ar(i, j)) <> "" Then
If IsNumeric(ar(i, j)) Then
zr = zr + ar(i, j)
End If
End If
If ar(2, j) <> "日" And ar(i, j) <> "" Then
If IsNumeric(ar(i, j)) And ar(i, j) > 1 Then
jb = jb + (ar(i, j) - 1)
End If
End If
If IsNumeric(ar(i, j)) Then
xj = xj + ar(i, j)
End If
Next j
ar(i, 34) = zr
ar(i, 35) = jb
ar(i, 37) = xj
End If
Next i
.Range("a4:ak" & r).Formula = ar
End With
MsgBox "ok!"
End Sub
|