Halo Nick,
Option Explicit
Private Sub Worksheet_Calculate()
'**************************************************
'* H. Ziplies *
'* 29.07.09 *
'*
http://Hajo-Excel.de/ *
'**************************************************
' diese Variante kostet natürlich Rechenleistung
' da bei jeder Eingabe der Bereich Formatiert wird
' Fülfarbe
' für Schrift RaZelle.Font.ColorIndex
Dim RaBereich As Range, RaZelle As Range
Dim LoLetzte As Long
LoLetzte = IIf(IsEmpty(Cells(Rows.Count, 7)), Cells(Rows.Count, 7).End(xlUp).Row, Rows.Count)
' Bereich der Wirksamkeit
Set RaBereich = Range("G1:G" & LoLetzte)
' ActiveSheet.Unprotect ' Tabellenschutz aufheben
For Each RaZelle In RaBereich
If Not Intersect(RaZelle, RaBereich) Is Nothing Then
Select Case RaZelle.Value
Case 1
' grau
Range(Cells(RaZelle.Row, 1), Cells(RaZelle.Row, 12)).Interior.ColorIndex = 15
Case 2
' gelb
Range(Cells(RaZelle.Row, 1), Cells(RaZelle.Row, 12)).Interior.ColorIndex = 6
Case 3
' rot
Range(Cells(RaZelle.Row, 1), Cells(RaZelle.Row, 12)).Interior.ColorIndex = 3
Case 4
' grün
Range(Cells(RaZelle.Row, 1), Cells(RaZelle.Row, 12)).Interior.ColorIndex = 4
Case Else
' Keine
Range(Cells(RaZelle.Row, 1), Cells(RaZelle.Row, 12)).Interior.ColorIndex = xlNone
End Select
End If
Next RaZelle
' ActiveSheet.protect ' Tabellenschutz setzen
Set RaBereich = Nothing
End Sub
Gruß Hajo