ich muss mein Problem nochmals öffnen, da ich i-wie nicht zurecht komme.
der Code unten funktioniert.
Was ich allerdings zuerst nicht mit berücksichtigt habe, ist, dass der Bereich rngSchicht variabel ist, und zwar ist jedes Blatt ein Monat, also unterschiedlich viele Spalten.
Die Datumswerte stehen von C3 : AD3,AE3 usw je nach Monat. DANACH kommen allerdings noch weitere Spalten, die noch andere Informationen enthalten, also über letzte Spalte funktioniert es nicht.
Wie kann ich die Zeile 3 nach dem letzten Datumswert abfragen (über IsDate)? Um dann im Code den Bereich rngSchicht variabel zu verwenden! Mir fehlt eine zündende Idee.
Danke erstmal für eure Unterstützung
Ein Mitglied gab mir den Tipp mit dem Case, aber i-wie reichen meine Kenntnisse nicht aus, das sinnvoll einzubauen:
Select Case Monat
Case Is = 1
Tage = 31
Case Is = 2
Tage = 28
Case Is = 3
Tage = 31
End Select
If Schaltjahr = True and if Monat = 2 Then Tage = 29
Der Ausgangscode von mir:
Sub WerteLöschen()
Dim rngSchicht As Range
Dim i As Long
Application.DisplayAlerts = False
For i = 4 To 15
With ThisWorkbook.Worksheets(i)
Set rngSchicht = .Range(.Cells(7, 3), .Cells(131, 33))
rngSchicht.ClearContents
End With
Next i
Application.DisplayAlerts = True
End Sub