Habe hier eine Lösung mit der Festlegung der einzelnen
„Ranges“.
Das wird warscheinlich kürzer gehen. Oder??
Hallo Skaletti,
laß die Prozedur tt einmalig laufen, danach brauchst du sie nicht mehr, dann macht das die Change-Prozedur.
In Modul1:
Sub tt()
Dim rngCell As Range, rngBereich As Range
Set rngBereich = Range("B6:B93,E6:I93,L6:stuck\_out\_tongue:93,S6:W93,Z6:AD93")
rngBereich.Interior.ColorIndex = 2
For Each rngCell In rngBereich
If UCase(rngCell.Value) = "RE" Then rngCell.Interior.ColorIndex = 7
Next rngCell
Set rngBereich = Range("C6:smiley:93,J6:K93,Q6:R93,X6:Y93,AE6:AF93")
rngBereich.Interior.ColorIndex = 36
For Each rngCell In rngBereich
If UCase(rngCell.Value) = "RE" Then rngCell.Interior.ColorIndex = 7
Next rngCell
End Sub
Im Modul des Blattes:
Private Sub Worksheet\_Change(ByVal Target As Range)
Dim rngCell As Range, rngBereich As Range
Set rngBereich = Intersect(Target, Range("B6:B93,E6:I93,L6:stuck\_out\_tongue:93,S6:W93,Z6:AD93"))
If Not rngBereich Is Nothing Then
For Each rngCell In rngBereich
rngCell.Interior.ColorIndex = IIf(UCase(rngCell.Value) = "RE", 7, 2)
Next rngCell
End If
Set rngBereich = Intersect(Target, Range("C6:smiley:93,J6:K93,Q6:R93,X6:Y93,AE6:AF93"))
If Not rngBereich Is Nothing Then
For Each rngCell In rngBereich
rngCell.Interior.ColorIndex = IIf(UCase(rngCell.Value) = "RE", 7, 36)
Next rngCell
End If
End Sub
Gruß
Reinhard