Excel:VBA和公式表中的WeekNum错误 - 码农家园

文章推薦指數: 80 %
投票人數:10人

Excel: WeekNum error in VBA and Formula Sheet对于每个日历,星期几01-02-03 / jan / 2016是第53周。

但是在excel(VBA和工作表公式)中,这是星期nr。

Excel:WeekNumerrorinVBAandFormulaSheet 对于每个日历,星期几01-02-03/jan/2016是第53周。

但是在excel(VBA和工作表公式)中,这是星期nr。

2016年1月1日。

12 cellValue="01/01/2016"  res=WorksheetFunction.WeekNum(cellValue,2) 这是严重的错误还是正确的? 是否有针对此问题的补丁? 相关讨论 在每个日历中,日期01-02-03/jan/2016的星期数不是53。

周编号有不同的定义。

zh.wikipedia.org/wiki/Week#Week_numbering 看来您使用的是周数的ISO定义。

如果是这样,那么您需要将行更改为: 1res=DatePart("ww",d,vbMonday,vbFirstFourDays) 有关VBA用于周数计算的一个很好的解释,请访问http://www.cpearson.com/excel/WeekNumbers.aspx。

顺便说一句,功能=WEEKNUM()和WorksheetFunction.Weeknum()在Excel版本中的工作方式不同,因此,使用纯VBA解决方案可能具有更多控制权。

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

相关讨论 不要以21作为第二个参数正确运行,等于1,2...21 您拥有哪个版本的Excel?它在Excel2010中使用您的代码返回21而不是2的53。

Copyright© 码农家园联系:[email protected]



請為這篇文章評分?