VBA,date部分,日历周,2019年

VBA,Excel在2019年给我错误的日历周。

我会得到日历周date:30.12.2019,本周必须1,但给53。

DatePart("ww", "30.12.2019", vbMonday, vbFirstFourDays) ' ->Output 53 DatePart("ww", "31.12.2019", vbMonday, vbFirstFourDays) ' ->Output 1 DatePart("ww", "29.12.2019", vbMonday, vbFirstFourDays) ' ->Output 52 

快速查看正确的日历https://www.kalender-365.eu/kalender-2019.html它必须1 – 不53。

有没有人解决这个错误?


更多testing:

 DatePart("w", "30.12.2019", vbMonday, vbFirstFourDays) ' -> Output 1, means Sunday. 

但是星期一30.12.2019

 DatePart("w", "31.12.2019", vbMonday, vbFirstFourDays) ' -> Output 2, means Monday 

但是31.12.2019是星期二

– 关于raiserle

似乎是一个奇怪的错误。 如果使用带有“21”的Excel函数WeekNum作为第二个参数(在Excel 2010中可用),则30.12.2019的一周可以(= 1)。 从Excel 2013开始,还有一个functionIsoWeekNum 。 如果您需要VBA中的星期编号,则可以使用WorksheetFunction.WeekNum

看起来问题是你的参数。 尝试使用最后一个参数上的vbFirstJan1。