' Collection of code snippets by Arne Vajhøj ' posted to eksperten.dk, usenet and other places (2002-now) Function WeekNumber(year As Integer, mon As Integer, day As Integer) As Integer Dim a, y, m, JD, d4, L, d1 As Long a = (14 - mon) \ 12 y = year + 4800 - a m = mon + 12 * a - 3 JD = day + (153 * m + 2) \ 5 + 365 * y + y \ 4 - y \ 100 + y \ 400 - 32045 d4 = (((JD + 31741 - JD Mod 7) Mod 146097) Mod 36524) Mod 1461 L = d4 \ 1460 d1 = ((d4 - L) Mod 365) + L WeekNumber = d1 \ 7 + 1 End Function Function TestWeekNumber() MsgBox CStr(WeekNumber(2007, 12, 31)) End Function