Hallo! Ich glaube jetzt weiß ich was du wolltest und warum die das for each drin hattest. Musste erst ne Weile testen um den Fehler wie bei dir zu generieren. Und glaube ihn auch gelöst zu haben. Der tritt auf, wenn deu mehrern Zellen gleichzeitig einen Wert gibst. Hatte ich vorher außer acht gelassen, da ich von einer manuellen Eingabe in einer Zelle ausgegangen war. Jetzt (mit deinem for each ) gilt er (zumindest in meiner Testumgebung :-) ) auch für mehrere Eingaben. Da war der Fehler, dass du bei einer zusammenhängenden Ränge (mehre Zellen beim Target) kein value angeben kannst. Und wie vorhin geschrieben, dannin der for each mit zelle und nicht mehr target arbeiten (target gibt nur den "Rahmen" für die Zellen vor). Schau mal, ob es jetzt passt. VG
Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Excel.Range)
Dim bereich, Zelle As Range
Set bereich = Worksheets(Sh.Name).Range("B3:AF29")
If Not Intersect(bereich, Target) Is Nothing Then
For Each Zelle In Target
Select Case Zelle.Value
Case "HO"
Zelle.Interior.Color = RGB(255, 87, 87)
Case "OP", "Op,", "op"
Zelle.Interior.Color = RGB(97, 214, 255)
Case "EU", "Eu", "eu"
Zelle.Interior.Color = RGB(105, 255, 105)
Case "RU", "Ru", "ru"
Zelle.Interior.Color = RGB(0, 205, 0)
Case Else
End Select
Next Zelle
End If
End Sub
|