Sam,
The hard part is determining the reference date (when does week 1 begin for
the year in question?). Below is an example I helped someone with where his
industry considered week 1 to be the first full week in July with weeks
beginning on Sunday. This probably isn't the same as your requirement but
it might give a few hints.
__________________________________
Function WkCount(Optional dtmDate As Date)
' Test that an argument was actually received
If dtmDate = 0 Then
WkCount = ""
Exit Function
End If
Dim dtmRefJulOne As Date
Dim dtmTemp As Date
Dim intElapsedDays As Integer
' Determine most recent July 1st
If Month(dtmDate) < 7 Then
dtmRefJulOne = DateSerial(Year(dtmDate) - 1, 7, 1)
Else
dtmRefJulOne = DateSerial(Year(dtmDate), 7, 1)
End If
' Determine first Sunday in most recent July
dtmTemp = dtmRefJulOne
Do While Weekday(dtmTemp) <> vbSunday
dtmTemp = dtmTemp + 1
Loop
' Handle case for a date in July prior to the first Sunday in July
If Month(dtmDate) = 7 And dtmDate < dtmTemp Then
dtmRefJulOne = DateSerial(Year(dtmDate) - 1, 7, 1)
dtmTemp = dtmRefJulOne
Do While Weekday(dtmTemp) <> vbSunday
dtmTemp = dtmTemp + 1
Loop
End If
' Determine days elapsed since reference Sunday in July
' Divide by 7 and round up for a week count, format as integer
intElapsedDays = dtmDate - dtmTemp
WkCount = FormatNumber(CInt(Int((intElapsedDays / 7) + 1)), 0)
End Function
__________________________________
Steve Yandl