AW: Sieht gut aus, was passiert da ...?
21.11.2003 07:10:34
PeterW
Hallo Thomas,
die bedingte Formatierung in Tabelle 1 kam von dir. :-) Du beziehst dich immer auf B11.
Wenn du Zellen verschiebst musst du den Code anpassen, gleiches gilt für zusätzliche Zellen. Und das meinte ich mit Verrenkungen, bei jeder Änderung in der Struktur muss der Code geändert werden.
Hier nochmal der Code, diesmal etwas besser kommentiert, vielleicht verstehst du dann besser, was passiert.
Private Sub Worksheet_Change(ByVal Target As Range)
'dieser Code läuft automatisch bei jeder manuellen
'Änderung in Tabelle 1 und liefert mit Target die Zelle,
'in der die Änderung stattgefunden hat
'wenn nur eine Zelle geändert wird
If Target.Cells.Count = 1 Then
'wenn sich diese Zelle im Bereich B11:B14 befindet
If Not Intersect(Target, Range("B11:B14")) Is Nothing Then
'stelle fest, in welcher Zeile die Änderung stattgefunden hat
Select Case Target.Row
'je nach Zeile überprüfe,
Case 11
'ob die korrespondierende Zelle in Tabelle 2
'kleiner als der eingegebene Wert in Tabelle 1 ist
If Sheets(2).Cells(3, 2) < Target Then
'wenn ja dann Schriftfarbe grün
Sheets(2).Cells(3, 2).Font.ColorIndex = 43
Else
'wenn nicht kleiner dann Schriftfarbe rot
Sheets(2).Cells(3, 2).Font.ColorIndex = 3
End If
Case 12
If Sheets(2).Cells(3, 3) < Target Then
Sheets(2).Cells(3, 3).Font.ColorIndex = 43
Else
Sheets(2).Cells(3, 3).Font.ColorIndex = 3
End If
Case 13
If Sheets(2).Cells(6, 3) < Target Then
Sheets(2).Cells(6, 3).Font.ColorIndex = 43
Else
Sheets(2).Cells(6, 3).Font.ColorIndex = 3
End If
Case 14
If Sheets(2).Cells(7, 3) < Target Then
Sheets(2).Cells(7, 3).Font.ColorIndex = 43
Else
Sheets(2).Cells(7, 3).Font.ColorIndex = 3
End If
End Select
End If
End If
End Sub
Gruß
Peter