hier die Lösung per VBA
16.05.2003 23:17:37
@dd
Also, hier nun der fertige CODE, habe ihn schon probiert funktioniert alles, musst ihn halt nur an den entsprechenden Stellen noch nach deinen Kriterien anpassen. Sprich den wert "K" usw... noch ändern oder erweitern.
Und die Farben die du dann pro Kriterium brauchst , da auch noch die entsprechenden Zahlenwerte eingeben , dann passt´s
Dieses Makro reagiert wenn in B1 "ein" steht, reagiert nicht wenn in b1 "nein" steht.
in A1 dann noch dein Kriterium fest legen und dann durch Klicken
deine Zellen färben in dem Bereich D11:AH70
ok, Gruß @dd
wennst noch Fragen hast , Morgen dann....
Achso ja, das ganze Makro unten kopieren, dann dein Tabellenblatt wo das ganze funktionieren soll mit rechts anklicken, auf Code einfügen gehen fertig.
;-)
.............................................................................................................................................................................................
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Column > 3 And Target.Column < 35 And Target.Row >= 11 And Target.Row <= 70 Then GoTo weiter1: '(D11:AH70)
Exit Sub
weiter1:
If Range("B1").Value = "ein" Then GoTo weiter2: ' "ein" in B1 schaltet das Färben ein
If Range("B1").Value = "aus" Then GoTo weiter3: ' "aus" in B1 schaltet das Makro aus, reagiert nicht !
weiter2:
If Range("A1").Value = "U" Then ' in A1 steht deine Bedingung, kannst du auch mit Gültigkeit
' dir dann dementsprechend einrichten, oder jedesmal von Hand eintippen,
' U , K, usw.... , wie du willst, je nachdem was dann für ein Wert in A1
' drinne steht, färbt er es dann nach den unteren Kriterien beim einfachen Klick
' rechts als auch linksklick
' Hier im Beispiel ist der Bereich von D11 bis AH70 angesprochen, kannst
' du aber ganz einfach erweitern indem du oben andere Werte bei Column ... eingibst.
With Range(Cells(ActiveCell.Row, ActiveCell.Column).Address)
.Interior.ColorIndex = 13
.Font.ColorIndex = 56
End With
End If
'-----------------------------------------------------------------------------------
If Range("A1").Value = "K" Then ' Kriterium "K" ( krank )
With Range(Cells(ActiveCell.Row, ActiveCell.Column).Address)
.Interior.ColorIndex = 3
.Font.ColorIndex = 56
End With
End If
'------------------------------------------------------------------------------------
If Range("A1").Value = "Fs" Then ' Kriterium "Fs" ( Freischicht )
With Range(Cells(ActiveCell.Row, ActiveCell.Column).Address)
.Interior.ColorIndex = 6
.Font.ColorIndex = 56
End With
End If
'------------------------------------------------------------------------------------
If Range("A1").Value = "Wb" Then ' Kriterium "Wb" ( Weiterbildung )usw...
With Range(Cells(ActiveCell.Row, ActiveCell.Column).Address)
.Interior.ColorIndex = 14
.Font.ColorIndex = 56
End With
End If
'-------------------------------------------------------------------------------------
' wenn du noch mehr Kriterien brauchst, dann einen Abschnitt eines Kriteriums hier kopieren und nach
' unten erweitern, so oft du es halt brauchst
' Die Farbe stellst du bei Interior. Color Index ein ( der Zahlenwert )
weiter3:
End Sub