excel 如何只循环工作日(周一到周五)

如题所述

只要在循环体里追加判断星期几的函数,就可以实现了。举例说明。

如图有一数据表,要求计算工作日工作时间之和。图中用公式法做成了结果=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

运行该宏结果如图:

温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-06-27

A1定义某工作日,A2:

=WORKDAY(A1,1)

下拉填充

本回答被提问者采纳
第2个回答  2014-06-27

就你那样筛选出周一到周五。复制粘贴到其他SHEET就好了啊。

相似回答