Die unten aufgeführte Funktion zur Berechnung der Kalenderwoche (KW) aus einem Datum möchte ich über ein Makro aufrufen.
Dabei sollen selektierte Zellen, die ein Datum enthalten
1. direkt in die KW umgewandelt werden
oder
2. in die rechte Nachbarzelle (ein anderes Makro) soll die KW eingetragen werden.
Mein Makro beginn bisher folgendermaßen:
Nun die Funktion
'Kalenderwoche aus Datum
~begin~
Function din_kw(datum As Date) As Integer
Dim i, j, k As Integer
i = datum - DateSerial(Year(datum), 1, 1)
k = Weekday(DateSerial(Year(datum), 1, 1), vbMonday)
j = Int((i - (8 - k)) / 7) + 1
If k <= 4 Then j = j + 1
If j = 0 Then
j = din_kw(DateSerial(Year(datum) - 1, 12, 31))
ElseIf j = 53 And Weekday(DateSerial(Year(datum), 12, 31), vbMonday) <= 3 Then
j = 1
End If
din_kw = j
End Function
~end~
Gruß Rainer