Excel VBA从每年的周数开始获取开始日期
我想检索一周的第一天(星期一开始)的日期,知道年份和周数。(一年52周) 预期结果:Excel VBA从每年的周数开始获取开始日期,excel,excel-formula,vba,Excel,Excel Formula,Vba,我想检索一周的第一天(星期一开始)的日期,知道年份和周数。(一年52周) 预期结果:2018年1月1日 有没有一种简单而动态的方法可以做到这一点 谢谢我找到了一个解决方案: startDate = DateAdd("ww", nWeek, DateSerial(Year(Date), 1, 1)) 谢谢所有想帮忙的人 如果您有同样或更好的功能,请随意添加它试试这个,您必须考虑一年中第一天的星期几 Dim nTrimester As Integer, _ nYear As Integer
2018年1月1日
有没有一种简单而动态的方法可以做到这一点
谢谢我找到了一个解决方案:
startDate = DateAdd("ww", nWeek, DateSerial(Year(Date), 1, 1))
谢谢所有想帮忙的人
如果您有同样或更好的功能,请随意添加它试试这个,您必须考虑一年中第一天的星期几
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", IIF(WeekDay(DateSerial(Year(Date), 1, 1))>4, nWeek,nWeek-1), DateSerial(Year(Date), 1, 1))
你的投入是什么,你的预期产出是什么?你能举个例子吗?我刚刚更新了问题!第一周是怀孕的第一周?你是如何计算一周的,这是第一个完整的星期(星期日、星期六、星期一、星期日),或者如果三个月的第一天是星期五,那么每个星期五都是一周的开始?如果不知道三个月的开始日期,就不可能确定三个月中任何一周的开始日期。三个月有多长?如果它是一年的三分之一,那么它既不是完整的天数,也不是完整的周数。我在2019年第1周测试了您的代码,结果是2019年1月8日,也就是周二。您的示例代码有效,因为2018年是在周一开始的。对,谢谢您指出,我不知道如何更正错误检查我的答案,对于您提供的场景,它有效,包括2019年第一周的第一天是2018年12月31日
startDate = DateAdd("ww", IIF(WeekDay(DateSerial(Year(Date), 1, 1))>4, nWeek,nWeek-1), DateSerial(Year(Date), 1, 1))