1.4k Aufrufe
Gefragt in Tabellenkalkulation von ekg Mitglied (303 Punkte)
Hallo

mit diesem Makro färbe ich in einem Kalender die Wochenen den grau
ein.
Gibt es auch eine Möglichkeit die Feiertage einzufärben?

Dim r As Range
Dim lngBZ As Variant
Dim lngBY As Variant

lngBY = Application.InputBox("Bitte geben Sie die Zeilen Nummer der" &
vbCrLf _
& "ersten zu färbenden Zeile hier ein.", _
"Eingabe", , , , , , 1)
lngBZ = Application.InputBox("Bitte geben Sie die Zeilen Nummer der" &
vbCrLf _
& "letzten zu färbenden Zeile hier ein.", _
"Eingabe", , , , , , 1)

If lngBZ Then
If lngBZ < 2 Then lngBZ = 2 ' erste Zeile
If lngBZ > Rows.Count Then lngBZ = Rows.Count
For Each r In Range("a2:af2") ' Anzahl der Spalten in der
ersten Zeile
If IsDate(r.Value) Then
Select Case Weekday(r.Value)
Case 1 'Sonntag
Range(Cells(lngBY, r.Column), Cells(lngBZ,
r.Column)).Interior.ColorIndex = 15
Range(Cells(lngBY, r.Column), Cells(lngBZ,
r.Column)).Font.ColorIndex = 0
Case 7 'Samstag
Range(Cells(lngBY, r.Column), Cells(lngBZ,
r.Column)).Interior.ColorIndex = 15
Range(Cells(lngBY, r.Column), Cells(lngBZ,
r.Column)).Font.ColorIndex = 0
Case Else
End Select
End If
Next r
End If

Gruß Erwin

3 Antworten

0 Punkte
Beantwortet von rainberg Profi (14.9k Punkte)
Hallo Erwin,

für das Einfärben von Wochenenden und Feiertagen verwende ich, der Einfachheit halber, immer die Bedingte Formatierung.

Falls Du Deinen Kalender posten möchtest, baue ich Dir das ein.

Gruß
Rainer
0 Punkte
Beantwortet von ekg Mitglied (303 Punkte)
Hallo

vielen Dank für die schnelle Antwort. Ich benötige das Makro um mehrere
verschieden Kalender immer wieder monatlich anzupassen.

Darum brauche ich die Funktion, wenn es geht per Makro.

Gruß Erwin
0 Punkte
Beantwortet von rainberg Profi (14.9k Punkte)
Hallo Erwin,

für "mehrere verschiedene Kalender" brauchst Du aber dann wahrscheinlich auch "mehrere verschiedene Makros".

Bin immer noch der Meinung, dass die Bedingte Formatierung dafür günstiger ist.

Aber es ist Deine Entscheidung.

Allerdings wirst Du den Helfer, der Dir die Makros schreiben soll, erheblich mehr Infos geben müssen, als in der bisherigen Frage vorhanden.

Gruß
Rainer
...