如何确定日期是否在周末?

时间:2009-10-16 21:06:52

标签: excel vba excel-vba

如果输入日期,我如何确定这一天是否属于周末?

4 个答案:

答案 0 :(得分:35)

有一个工作日函数以Date作为参数并返回日期(1,2,3等)

返回值为:

vbSunday (1)  
vbMonday (2)  
vbTuesday (3)  
vbWednesday (4)  
vbThursday (5)  
vbFriday (6)  
vbSaturday (7)  

假设周末是周六和周日,该功能将如下所示:

Public Function IsWeekend(InputDate As Date) As Boolean
    Select Case Weekday(InputDate)
        Case vbSaturday, vbSunday
            IsWeekend = True
        Case Else
            IsWeekend = False
    End Select
End Function

答案 1 :(得分:10)

这是确定MyDate是否属于周末的最直接方式:

MsgBox Weekday(MyDate, vbMonday) > 5

Weekday()函数有一个可选的第二个参数,告诉它一周的哪一天开始。 Weekday()函数返回1到7之间的整数。

我已经指示它在星期一开始一周,因此星期六将是6,星期日将是7。

答案 2 :(得分:6)

或者,您可以使用:

OR(MOD(WEEKDAY(cell), 7)=0, MOD(WEEKDAY(cell), 7)=1)

MOD(WEEKDAY(cell), 7) < 2

作为公式。

因为1是星期日,0是星期六

答案 3 :(得分:2)

将日期转换为工作日的公式

Selection.FormulaR1C1 =“= TEXT(WEEKDAY(R7C”+ CStr(i)+“,1),”“ddd”“)”

这将返回白天

例如: - 如果输入是02-may-2013 那么它将返回Thu - &gt; (星期四) 这里变量i代表另一列