40010
Mit diesem Makro kann die Kalenderwoche nach Deutscher Industrienorm (DIN) 1355 ermittelt werden.
Diese Funktion erlaubt, sowohl durch die direkte Übergabe des Datums als auch durch den Bezug auf eine Zelle die Kalenderwoche zu ermitteln.
Public Sub kw_ermitteln() 'kw = DINKw("01.08.2002") kw = DINKw(Range("A1")) MsgBox kw End Sub Function DINKw(dat As Date) As Integer Dim kw As Integer kw = Int((dat - DateSerial(Year(dat), 1, 1) + _ ((Weekday(DateSerial(Year(dat), 1, 1)) + 1) _ Mod 7) - 3) / 7) + 1 If kw = 0 Then kw = DINKw(DateSerial(Year(dat) - 1, 12, 31)) ElseIf kw = 53 And (Weekday(DateSerial(Year(dat), 12, 31)) - 1) Mod 7 <= 3 Then kw = 1 End If DINKw = kw End Function