Two digit week numbers in VB

J

John Ortt

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
 
R

raymond.allan

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
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top