Hi, (Du wieder?)
Kopiere das in ein MODUL:
Global AlterWert As Variant
Rest in Tabelle2:
Das "Workshet_Change"-Ereignis reagiert zwar auch auf Formeln, aber gibt nicht aus, welche Zelle geändert wurde.
Deswegen muss man es austricksen:
Private Sub Worksheet_Calculate()
If AlterWert <> Tabelle2.Cells(1, 1).Value Then
Call Worksheet_Change(Range(Cells(1, 1), Cells(1, 1)))
AlterWert = Tabelle2.Cells(1, 1).Value
End If
End Sub
Private Sub Worksheet_Change(ByVal Target As Range)
Dim K As Shape
If Target.Address(0, 0) = "A1" Then
Set K = Tabelle1.Shapes("01")
K.Fill.Visible = msoTrue
K.Line.Visible = msoFalse
If [A1] <= 10 And [A1] >= 0 Then
K.Fill.ForeColor.SchemeColor = 10
ElseIf [A1] <= 20 And [A1] > 10 Then
K.Fill.ForeColor.SchemeColor = 12
Else
K.Fill.ForeColor.SchemeColor = 1
End If
End If
End Sub
|