使用VBA编写自定义函数来计算周次。
示例代码:
Public Function GetWeekNumber(d As Date) As Integer
' 计算d所在年份的第一个周日
Dim firstSunday As Date
firstSunday = DateSerial(Year(d), 1, 1)
firstSunday = firstSunday + (7 - Weekday(firstSunday, vbSunday)) Mod 7
' 计算d是这一年的第几天
Dim dayOfYear As Integer
dayOfYear = DateDiff("d", firstSunday, d) + 1
' 计算周次
GetWeekNumber = (dayOfYear - 1) \ 7 + 1
End Function
在Tabular Form中的一个文本框的Control Source属性中,使用以下表达式可以调用上面的自定义函数:
=GetWeekNumber([MyDateField])
其中,[MyDateField]是包含日期的字段名。