VBA problem
22.06.2005 08:52:28
steifinga
Ich habe folgendes Problem:
Ich verwende diesen Code für bestimmte formatierung mit mehreren Bedingungen
Danke an dieser Stelle an Hajo_Zi und UweD
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
Dim RaBereich As Range, RaZelle As Range
Set RaBereich = Range("D7:IV755")
For Each RaZelle In Range(Target.Address)
If Not Intersect(RaZelle, RaBereich) Is Nothing Then
With RaZelle
Select Case UCase(.Value)
Case "1"
.Interior.Color = RGB(255, 204, 153)
.Font.Color = RGB(255, 204, 153)
Case "2"
.Interior.Color = RGB(255, 153, 0)
.Font.Color = RGB(255, 153, 0)
Case "3"
.Interior.Color = RGB(153, 51, 0)
.Font.Color = RGB(153, 51, 0)
Case "4"
.Interior.Color = RGB(153, 204, 255)
.Font.Color = RGB(153, 204, 255)
Case "5"
.Interior.Color = RGB(51, 102, 255)
.Font.Color = RGB(51, 102, 255)
Case "6"
.Interior.Color = RGB(0, 0, 128)
.Font.Color = RGB(0, 0, 128)
Case ""
.Interior.ColorIndex = 0
.Font.ColorIndex = 0
End Select
End With
End If
Next RaZelle
Set RaBereich = Nothing
End Sub
Der Code funktioniert eigentlich ganz gut, aber nur wenn die Zustände (Zahlen) händisch eingetragen werden wenn sich diese aus einer Verknüpfung (=WENN(Tabelle1!D10="";"";Tabelle1!D10) ergibt funktioniert das ganze nicht einwandfrei und das
Case ""
.Interior.ColorIndex = 0
.Font.ColorIndex = 0
funktioniert sowieso nicht da ja die zelle nie leer ist.
Sieht irgendwer eine möglichkeit wie ich den Code ändern könnte das er nur auf den verknüpften wert schaut?
BITTE DANKE
Grüße aus Kärnten