< Ich habe schon mit: DieseArbeitsmappe:Privat Sub Worksheet_Change
>> das Ereignis liefert mit Target den geänderten Bereich ( 1 bis .... Zellen möglich)
du kannst nur diese Änderungen auswerten und keine Schleife drehen
jede Zell-Änderung (ausgenommen die Schmuckfarbe) startet wiederum das Ereignis, daher ............
Ungetestetes Beispiel
Private Sub Worksheet_Change(ByVal Target As Range)
Dim c As Range
'Target ist der Zellbereich(Range) der Änderung
'Mehrfachänderung
For Each c In Target.Cells
'Ausschluss auf Cells(24, 28) und Cells(12, 7) bis Cells(20, 7)
'AB24 G12:G20
If c.Address(0, 0) = "AB24" Then
With Cells(36, 9)
Select Case c.Value
Case "A"
.Interior.Color = RGB(196, 215, 155)
Case "B"
.Interior.Color = RGB(255, 255, 175)
Case "C"
.Interior.Color = RGB(218, 150, 148)
Case Else
'nix
End Select
End With
Else
'hier wird ein Bereich geändert, daher
Application.EnableEvents = False
If Not Intersect(c, Range("G12:G20")) Is Nothing Then
If c.Value = 0 Then
Cells(24, 28).Value = "C"
Cells(36, 9).Interior.Color = RGB(218, 150, 148)
End If
End If
Application.EnableEvents = True
End If
Next c
End Sub
|