Excel:VBA和公式表中的WeekNum错误 - 码农家园
文章推薦指數: 80 %
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]
延伸文章資訊
- 1VBA Convert date to week number - Stack Overflow
To make the Week Number with Monday as a first day, use the following: WorksheetFunction.WeekNum(...
- 2Finding the week number using VBA in Microsoft Excel
In the “Display_WeekNum” custom function, we have used WorksheetFunction to access the inbuilt WE...
- 3WorksheetFunction WeekNum 方法(Excel) | Microsoft Docs
Visual Basic for Applications (VBA) 計算不同于Excel 的序列日期。 在VBA 中,序號1是12月31日1899,而不是1900。 支援和意見反應. 有關於...
- 4VBA/Excel實例系列——根據時間自動判斷周次信息
根據輸入時間,直接採用WeekNum獲取Excel系統默認周次; 對默認時間,根據客戶需求進行修正,包括兩部分; 根據節點信息修正; 根據客戶需求,第一周的 ...
- 5如何在VBA語句中使用WEEKNUM函數? - How can I use the ...
I want to write a VBA, to check if WEEKNUM or ISOWEEKNUM equal to the value, then run the rest of...