Hallo Leute,
ich habe mir eine Code geschrieben, welcher mir ein Zeilendatum in eine KW Woche umrechnet und diesen mit der aktuellen KW vergleichen soll.
Das ganze funktioniert blendet bis auf das, dass er mir auch die KW von Jahren zuvor mitberücksichtigt und somit auch mit kopiert.
Ich sehe im Code der Funktion nicht woran das liegt, hoffe Ihr habt ein Tipp.
Hier das Hauptprogram:
Hier die Funktion an die übergeben wird und auch die aktuelle KW Woche übernommen wird:
Danke euch im Voraus!
ich habe mir eine Code geschrieben, welcher mir ein Zeilendatum in eine KW Woche umrechnet und diesen mit der aktuellen KW vergleichen soll.
Das ganze funktioniert blendet bis auf das, dass er mir auch die KW von Jahren zuvor mitberücksichtigt und somit auch mit kopiert.
Ich sehe im Code der Funktion nicht woran das liegt, hoffe Ihr habt ein Tipp.
Hier das Hauptprogram:
Quellcode
- 'Hauptprogramm sucht jeweilige Zellreihen aus
- For i = 13 To 1044
- 'ws_anfang.Cells(i, 19).value muss an funktion zum umwandeln gegeben werden
- If IsDate(ws_anfang.Cells(i, 19).value) = True Then
- If KalenderwocheNachDin(ws_anfang.Cells(i, 19).value) = KalenderwocheNachDin(Date) Then
- ws_anfang.Rows(i).Copy ws_ziel.Rows(z)
- z = z + 1
- End If
- End If
- Next i
Hier die Funktion an die übergeben wird und auch die aktuelle KW Woche übernommen wird:
Quellcode
- Function KalenderwocheNachDin(dat As Date) As Integer
- Dim a As Integer
- a = Int((dat - DateSerial(Year(dat), 1, 1) + ((Weekday(DateSerial(Year(dat), 1, 1)) + 1) Mod 7) - 3) / 7) + 1
- If a = 0 Then
- a = KalenderwocheNachDin(DateSerial(Year(dat) - 1, 12, 31))
- ElseIf a = 53 And (Weekday(DateSerial(Year(dat), 12, 31)) - 1) Mod 7 <= 3 Then
- a = 1
- End If
- KalenderwocheNachDin = a
- End Function
Danke euch im Voraus!