Christian Estrup skrev:
> Jeg har et problem med DatePart-funktionen - den ser ud til at
> have en bug omkring årsskiftet 2003/2004.
Det har du ret i.
Jeg prøvede i VBA med samme resultat. En googling gav bl.a.
følgende:
<
http://www.exceltip.com/show_tip/Custom_Functions/Weeknumbers_using_VBA_in_Microsoft_Excel/524.html>
Function UDFWeekNumISO(InputDate As Date)
UDFWeekNumISO = DatePart("ww", InputDate, vbMonday,
vbFirstFourDays)
End Function
The two functions above can, due to a bug, return a wrong week
number. This occurs for dates around New Year for some years,
e.g. the years 1907, 1919, 1991, 2003, 2007, 2019 and 2091.
Følgende VBA-funktion skulle kunne klare en korrekt udregning
ifølge samme side:
Function WEEKNR(InputDate As Long) As Integer
Dim A As Integer, B As Integer, C As Long, D As Integer
WEEKNR = 0
If InputDate < 1 Then Exit Function
A = Weekday(InputDate, vbSunday)
B = Year(InputDate + ((8 - A) Mod 7) - 3)
C = DateSerial(B, 1, 1)
D = (Weekday(C, vbSunday) + 1) Mod 7
WEEKNR = Int((InputDate - C - 3 + D) / 7) + 1
End Function
Det skulle være muligt at omskrive den til VBscript.
--
Jens Gyldenkærne Clausen
Svar venligst under det du citerer, og citer kun det der er
nødvendigt for at forstå dit svar i sammenhængen. Se hvorfor og
hvordan på
http://usenet.dk/netikette/citatteknik.html