Board logo

標題: 每年的第一個星期六 [打印本頁]

作者: myleoyes    時間: 2012-7-1 15:49     標題: 每年的第一個星期六

各位前輩你們好!
         前輩!!
         [B1] = CDate(Application.WorkDay(DateSerial(Year(Date) - 1, 12, 31), 1)) '第一個工作天
         [C1] =每年的第一個星期六請問程式為何?
              請知道的前輩,不吝賜教謝謝再三!!
作者: kimbal    時間: 2012-7-1 18:42

回復 1# myleoyes

比較長,試試看
  1. DateAdd("d", 7 - WeekDay(DateSerial(Year(date), 1, 1)) + IIf(7 - WeekDay(DateSerial(Year(Now()), 1, 1)) >= 0, 0, 7), DateSerial(Year(date), 1, 1))
複製代碼
7 - WeekDay... 的7的意思為星期6
6 - WeekDay... 的話是星期5, 如此類推
5 為星期4
4 為星期3
3 為星期2
2 為星期1
1 為星期日
作者: oobird    時間: 2012-7-1 21:11

CDate(Application.Ceiling((DateSerial(Year(Date), 1, 1) - 7) / 7, 1) * 7 + 7)
作者: myleoyes    時間: 2012-7-1 21:13

回復 2# kimbal
         前輩!!謝謝!!再請教這公式
            D1=DATE(E3,E4,1)+E5-WEEKDAY(DATE(E3,E4,1))+(E6-(E5>=WEEKDAY(DATE(E3,E4,1)))*7)
            D3=年            E3=2004
            D4=月            E4=7
            D5=星期代碼      E5=7
            D6=第4個星期六   E6=4
            為何求出D1=2004/6/30,而非2004/7/24
            請不吝再賜教謝謝再三!!
作者: myleoyes    時間: 2012-7-1 21:28

回復 3# oobird
超級版主果然超級哈哈!謝謝再三!!




歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)