Kalenderwoche nach DIN ermitteln

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

Drucken