Excel:VBA和公式表中的WeekNum错误

时间:2015-12-22 11:18:09

标签: excel excel-vba excel-formula vba

对于每个日历,01-02-03 / jan / 2016周的周数为第53周。

但是在excel(VBA和Sheet Formula)中,这是nr周。 2016年1月。

 cellValue = "01/01/2016"
 res = WorksheetFunction.WeekNum(cellValue, 2)

这是严重错误还是正确?

这个问题有补丁吗?

2 个答案:

答案 0 :(得分:3)

看起来您正在使用周数的ISO定义。如果是这样,那么您需要将该行更改为:

last

有关VBA for weeknum计算的非常好的解释,请查看http://www.cpearson.com/excel/WeekNumbers.aspx

BTW,函数res = DatePart("ww", d, vbMonday, vbFirstFourDays) =WEEKNUM()在Excel版本中的工作方式不同,因此您可以使用纯VBA解决方案获得更多控制权。

答案 1 :(得分:2)

你应该使用21而不是2作为第二个参数。