只要在循环体里追加判断星期几的函数,就可以实现了。举例说明。
如图有一数据表,要求计算工作日工作时间之和。图中用公式法做成了结果=72小时。如图:
用VBA计算该要求,代码如下:
Sub 统计工作日时间()
Dim I, J As Integer
Dim S As Double
S = 0
Dim mYd As Date
I = 2
Do While Cells(I, 1) <> ""
mYd = Cells(I, 1).Value
J = Application.WorksheetFunction.Weekday(mYd, 1)
If J <> 6 And J <> 7 Then '判断是否为工作日
S = S + Cells(I, 2)
End If
I = I + 1
Loop
MsgBox "非工作日时间合计为:" + Str(S)
End Sub
运行该宏结果如图:
就你那样筛选出周一到周五。复制粘贴到其他SHEET就好了啊。