繁体   English   中英

VBA从一年中的第几周开始获取日期

[英]VBA get start date from week number of the year

我想知道星期和星期几来检索一周中第一天的日期(一周从星期一开始)。 (一年中52周)

Dim nYear As Integer, _
    nWeek, As Integer
    startDate As Date

    nYear = 2018
    nWeek= 1


'startDate = ?

预期结果: 01/01/2018

有没有简单而动态的方式来做到这一点?

谢谢

Dim nTrimester As Integer, _
    nYear As Integer, _
    nWeek As Integer, _
    wd As Integer, _
    startDate As Date, _
    inputDate As Date

nYear = 2019
nWeek = 1    

inputDate = DateSerial(nYear, 1, 1)
inputDate = DateAdd("ww", nWeek - 1, inputDate)
wd = Weekday(inputDate, vbMonday)   

startDate = DateAdd("d", 1 - wd, inputDate)

我找到了解决方案:

startDate = DateAdd("ww", nWeek, DateSerial(Year(Date), 1, 1))

谢谢所有想要帮助的人!

如果您的产品具有相同或更好的效果,请随时添加

尝试此操作,您必须考虑一年中第一天的星期几。

    startDate = DateAdd("ww", IIF(WeekDay(DateSerial(Year(Date), 1, 1))>4, nWeek,nWeek-1), DateSerial(Year(Date), 1, 1))

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM