Ich habe diesen Code:
Option Explicit
Sub CreateWks()
Dim datStart As Date, datEnd As Date
Dim lKW As Long
Dim iKW As Integer
Dim sKW As String
Application.ScreenUpdating = False
datStart = DateSerial(Year(Date), Month(Date), 1)
datEnd = DateSerial(Year(Date), Month(Date), 31)
For lKW = datStart To datEnd Step 7
Worksheets.Add after:=Worksheets(Worksheets.Count)
iKW = ISOWeek(CDate(lKW))
If lKW = CLng(datStart) And iKW > 1 Then
sKW = iKW & ".-Woche"
ElseIf lKW >= datEnd - 7 And iKW = 1 Then
sKW = ".-Woche" & iKW
Else
sKW = Format(iKW, "00") & ".-Woche"
End If
ActiveSheet.Name = sKW
Next lKW
Application.ScreenUpdating = True
Worksheets(3).Select
End Sub
Private Function ISOWeek(dat As Date) As Integer
With WorksheetFunction
ISOWeek = Fix((dat - .Weekday(dat, 2) - _
DateSerial(Year(dat + 4 - _
.Weekday(dat, 2)), 1, -10)) / 7)
End With
End Function
hier im Forum gefunden und mir angepaßt.Was mir nun noch fehlt ist das es bei 5 Wochen im Monat super klappt nur bei 6 Wochen im Monat nicht(z.B.Jannuar 2006) kann mir einer da bitte weiterhelfen?
Gruß Rene