Hallo! Also wenn du mit for each arbeitest, solltest du im Schleifenrumpf auch alle auf die zelle auswerten und nicht auf target (geht in diensem Fall vermtl. auch aber dauert lange). Ich würde es so machen. Mit intersect fragst ud dabei ab, ob deine Änderung in der Range liegt. Wenn ja, läuft der select case an. Wenn nicht, dann nicht. Vg
Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Excel.Range)
Dim bereich As Object
Dim Zelle As Range
Set bereich = Worksheets(Sh.Name).Range("B3:AF29")
If Not Intersect(bereich, Target) Is Nothing Then
Select Case Target.Value
Case "HO"
Target.Interior.Color = RGB(255, 87, 87)
Case "OP", "Op,", "op"
Target.Interior.Color = RGB(97, 214, 255)
Case "EU", "Eu", "eu"
Target.Interior.Color = RGB(105, 255, 105)
Case "RU", "Ru", "ru"
Target.Interior.Color = RGB(0, 205, 0)
Case Else
End Select
End If
End Sub
|