2009-10-16 96 views

回答

32

有一個工作日函數,它接受一個日期作爲參數並返回天(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 
+0

使用示例,因爲這是返回1-3的整數在帖子中沒有說清楚:'IsWeekend(「11/13/2017」)' – 2017-11-13 22:03:35

6

或者,您可以使用此:

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

MOD(WEEKDAY(cell), 7) < 2 

爲公式。

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

2

式轉換日期星期天

Selection.FormulaR1C1 = 「= TEXT(WEEKDAY(R7C」 + CStr的(ⅰ)+」,1), 「」 DDD 「」)」

這將返回天

例如: - 如果 輸入是02-MAY-2013 然後它會返回週四 - >(星期四) 這裏變量i表示另一列

9

這是確定是否MyDate適逢週末最直接的方法:

MsgBox Weekday(MyDate, vbMonday) > 5 

工作日()函數,告訴它的周開始一週中的一天,一個可選的第二個參數。該平日()函數通過7.

我已經指示其啓動周,週一等SATURDAY將是6和週日。將7.