AW: @ Jan
14.04.2013 08:54:49
hary
Moin Jan
Das...
'If Range("A1").Text = 1 Then Range("B1").Interior.ColorIndex = 38
'If Range("A1").Text = 2 Then Range("B1").Interior.ColorIndex = 36
...kann so nicht richtig funzen. Was ist wenn du nach Makroausfuehrung Z.B. die 1 in eine 3 aenderst und das Makro nochmal ausfuehrst?
Da bleibt die alte Farbe erhalten. Besser mit: Change und Case
Private Sub Worksheet_Change(ByVal Target As Range)
Dim farbe As Long
If Target.Column = 1 And Target.Count = 1 Then 'wenn Zelle in SpalteA und nur eine Zelle _
ausgeaehlt
Select Case Target
Case 1: farbe = 38 ' Farbe bei 1
Case 2: farbe = 36 'Farbe bei 2
Case 5, 6: farbe = 3 ' Farbe bei 5 und 6
Case Is > 100: farbe = 6 'Farbe bei > 100
'---- usw. ---
Case Else: farbe = xlNone 'keine Farbe in den restlichen Faellen
End Select
Target.Offset(, 1).Interior.ColorIndex = farbe ' eine Spalte nach rechts
End If
End Sub
gruss hary