会员登录 - 用户注册 - 网站地图 Office中国(office-cn.net),专业Office论坛
当前位置:主页 > 技巧 > Access技巧 > 模块函数VBA > 正文

如何确定某年第N周的第一天日期?

时间:2008-12-27 17:02 来源:access911.net 作者:cg1 阅读:

问题:

如何确定某年第N周的第一天日期?
要知道 2005 年 第40周的第一天的日期是多少,该如何做?

 

回答:

Function WeekFistDateInYear(ByVal lngWeek As Long, _
                            ByVal dteA As Date, _
                            Optional ByVal bteFirstDay As Byte) As Date
    '本函数获取某年的第N周的第一天
    '其实可以直接合并为一个公式,无需另外写公式

    Dim dte As Date
    dte = DateAdd("ww", lngWeek, dteA)
    WeekFistDateInYear = DateAdd("d", 7 - Weekday(dte, bteFirstDay), dte)
End Function
Function test()
    Dim dte1 As Date
    Dim dte2 As Date
    dte1 = #1/1/2006#
    Debug.Print WeekFistDateInYear(40, dte1, vbMonday)
    dte2 = WeekFistDateInYear(40, dte1, vbMonday)
    Debug.Print Weekday(dte2)
    '以下用 DatePart 函数验证该日期是否正确
    Debug.Print DatePart("ww", dte2, vbMonday, vbFirstFullWeek)
End Function

(责任编辑:admin)

顶一下
(0)
0%
踩一下
(0)
0%
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价: