View Single Post
  #3   Report Post  
Posted to microsoft.public.excel.programming
[email protected] raymond.allan@bench.com is offline
external usenet poster
 
Posts: 24
Default Two digit week numbers in VB

Public Function IsoWeekNum(d1 As Date) As Integer
Dim d2 As Long
d2 = DateSerial(Year(d1 - Weekday(d1 - 1) + 4), 1, 3)
IsoWeekNum = Int((d1 - d2 + Weekday(d2) + 5) / 7)
End Function

Code will be:

wNum = IsoWeekNum(Now())
WeekNum = wNum
if wNum < 10 then WeekNum = "0" & wNum


John Ortt wrote:
Hi everyone.

I am currently using the following code to obtain two digit week numbers in
excel. Is there an easier or cleaner way of doing it?

If Len(DatePart("WW", Now())) < 2 Then _
maxDate = DatePart("YYYY", Now()) & " 0" & _
DatePart("WW", Now()) _
Else maxDate = DatePart("YYYY", Now()) & " " & _
DatePart("WW", Now()) _


Thanks,

John