Hallo zusammen,
ich habe folgendes Problem.
Ein Paraktikant hat mir mal vor einiger Zeit ein Makro geschrieben dass via Datepicker auswahl Tabellenblätter bei der Erzeugung automatisch mit Jahr und Kalenderwoche bennent. Seit Januar 2021 Stimmt die Berechnung jedoch nicht mehr und anstelle von aktuell KW2 wird mir KW3 angezeigt. Ich bin leider kein VBA profi und relativ ratlos wie ich das Problem lösen kann.
hier vermute ich den Fehler.
'Funktion zu Berechnung des Jahres eines Datums
Public Function berechnung_jahr(ByVal Datum As Date) As String
Dim kw As Integer
Dim jahr As Integer
kw = berechnung_kw(Datum)
jahr = Year(Datum)
'Beispielsdatum 31.12.2018 ist KW01 von 2019, demnach muss kw = KW01 sein und das Jahr 2019
If kw >= 52 And Month(Datum) = 1 Then
jahr = jahr - 1
ElseIf kw = 1 And Month(Datum) = 12 Then
jahr = jahr + 1
End If
berechnung_jahr = jahr
End Function
'Funktion zur Berechnung der KW von Mittwoch bis Dienstag eines Datums
Public Function berechnung_kw(ByVal Datum As Date) As String
Dim kw As Integer
kw = Format(Datum, "ww", vbWednesday, vbFirstFourDays)
If kw > 52 Then
If Format(DateAdd("d", 7, Datum), "ww", vbWednesday, vbFirstFourDays) = 2 Then
kw = -1
End If
End If
berechnung_kw = kw
End Function
Vielen Dank schonmal für die Unterstützung
|