Hallo zusammen!
habe im netz einen code für einen kalender gefunden der super funktioniert ... bis auf eins ;-)
mein problem ist aber, dass immer die tabellenblätter davor gelöscht werden. ich bekomme das einfach nicht hin, das der kalender erst bei tabellenblatt 4, 5, oder von mir aus auch 6 anfängt seine monate abzuarbeiten - also nach dem letzten vorhandenem tabellenblatt.
der grund dafür ist, das davor tabellenblätter sind die laufend bearbeitet werden und über einen button sollte eben dann das neue jahr zum eingeben sein bzw der alte kalender (natürlich nach dem speichern) gelöscht werden bzw ersetzt
Hat da jemand einen rat für mich.... büüüüttttteeeee.... total verzweifelt schau
der code sieht wie folgt aus:
Sub Kalender()
'Dim blatt As Worksheet
Dim monat As Integer
Dim anzTage As Integer
Dim Jahr As Integer
Dim TagNr As Integer
Dim aktuellerTag As Date
' 'löschen
' Application.DisplayAlerts = False
'
' For Each blatt In Worksheets
' If Not blatt Is ActiveSheet Then
' blatt.Delete
' End If
' Next
' Application.DisplayAlerts = True
Jahr = InputBox("Neues Jahr anlegen!", "", "2021")
For monat = 1 To 12
anzTage = Day(DateSerial(Jahr, (monat + 1) Mod 12, 0))
Worksheets(monat).Name = MonthName(monat, Jahr)
For TagNr = 3 To anzTage
aktuellerTag = DateSerial(Jahr, monat, TagNr)
Worksheets(monat).Cells(TagNr, 1).Value = aktuellerTag
If Weekday(aktuellerTag) = vbSaturday Or Weekday(aktuellerTag) = vbSunday Then
Worksheets(monat).Cells(TagNr, 1).Delete
End If
Next TagNr
If monat < 12 Then
Worksheets.Add After:=Worksheets(Worksheets.Count)
End If
Next monat
End Sub
ps.: und wie bekomme ich die leeren zeilen vom löschen der samstage und sonntage raus?
gaaaaaanz lg
|