Excel:VBA和公式表中的WeekNum错误
对于每个日历,01-02-03 / 1月/ 2016日的周数是第53周。
但在Excel(VBA和Sheet Formula)这是第nr周。 2016年1月
cellValue = "01/01/2016" res = WorksheetFunction.WeekNum(cellValue, 2)
这是严重的错误还是正确的?
有这个问题的补丁?
你应该使用21而不是2作为第二个参数。
看起来你正在使用星期编号的ISO定义。 如果是这样,那么你需要将行更改为:
res = DatePart("ww", d, vbMonday, vbFirstFourDays)
要获得有关weeknum计算的VBA的非常好的解释,请查看http://www.cpearson.com/excel/WeekNumbers.aspx 。
顺便说一下,函数=WEEKNUM()
和WorksheetFunction.Weeknum()
在Excel版本中的工作方式不同,因此您可以通过纯粹的VBA解决scheme进行更多的控制。