trotz aller Recherche habe ich für mein Problem noch keine befriedigende Lösung gefunden.
Ich bastle an einem Monatskalender, der die Wochenenden farblich markiert.
Das Jahr wird in der Zelle I6 und der Monat über ein Dropdownfeld in der Zelle G6 eingetragen. Der nachfolgende Code, den ich bisher gefunden habe funktioniert nur bei Monaten mit 31 Tagen fehlerlos. Bei Monaten mit weniger als 31 Tagen werden die Tage des Folgemonats mit angegeben. Wie kann ich das verhindern. Die Ausgabe der Wochentage erfolgt in den Zellen A13 A40 (Mo, Di,usw.). In den Zellen B13 B40 werden die Tage mir 1, 2, 3 bis 31 angezeigt.
In den Zellen A13 A40 steht folgende Formel =Wochentag(B13).
In der Zelle B13 steht die Formel =DATUM(JAHR($I$6);(MONAT($G$6));1)
In den Zellen B14-B40 steht die Formel =B13+1
Was muss ich am nachfolgenden Code oder überhaupt ändern?
Sub Monatsplan()
Columns("A:C").Select
Selection.Interior.ColorIndex = xlNone
Range("a13").Select
i = 13
Do Until IsEmpty(Cells(i, 1))
If Weekday(Cells(i, 1)) = 7 Then
Range(Cells(i, 1), Cells(i, 3)) _
.Interior.ColorIndex = 8
ElseIf Weekday(Cells(i, 1)) = 1 Then
Range(Cells(i, 1), Cells(i, 3)) _
.Interior.ColorIndex = 8
End If
i = i + 1
Loop
End Sub
Herzliche Grüße
Werner