AW: Berechnung aufgrund Zellenfarbe einer anderen
12.06.2006 10:38:41
fcs
Halllo Udo,
ein Grundproblem bei Formeln, die Formatierungen verarbeiten sollen ist, dass sie bei einer Änderung der Formatierung der in der Formel verwendeten Zellen nicht automatisch neu berechnet werden. Berechnungen in Formeln werden nur aktualisiert, wenn sich die Werte der verwendeten Zellen ändern.
Insgesamt dürfte es einfacher sein, wenn du für die für die Sondertage (Feiertag, Urlaub, Krank, Gleitag) in einer zusätzlichen Spalte einen Eintrag machst und basierend auf diesem Eintrag die Farben der Zellen festlegt. Dann kann man durch eine Ereignisauswertung nach jeder Eingabe die Formatierungen anpassen.
Beispiel:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Zelle As Range
'Farben in Spalte "A" festlegen abhängig vom Wert in Spalte "L"
If Not Intersect(Target, Range("L2:L32")) Is Nothing Then
For Each Zelle In Target
Select Case Zelle.Value
Case "G" 'Gleittag
Cells(Zelle.Row, "A").Interior.ColorIndex = 10 'Grün
Case "F" 'Feiertag
Cells(Zelle.Row, "A").Interior.ColorIndex = 6 'Gelb
Case "U" 'Urlaub
Cells(Zelle.Row, "A").Interior.ColorIndex = 7 'Magenta
Case "K" 'Krank
Cells(Zelle.Row, "A").Interior.ColorIndex = 5 'blau
Case Else
Cells(Zelle.Row, "A").Interior.ColorIndex = xlNone
End Select
Next Zelle
End If
End Sub
Außerdem kann man dann als Basisformatierung für die Wochenenden meinen Vorschlag mit bedingter Formatierung verwenden.
mfg
Franz