Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1148to1152
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Bedingte Farbformatierung

Bedingte Farbformatierung
Matthias.G.
Hallo Excelfreunde,
ich benutze folgendes Makro:
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
Dim rc As Range
Dim lx As Long
Dim bSet As Boolean
If Intersect(Target, Range("F11:AJ20,F21:AJ38,F49:AJ76,F87:AJ114")) Is Nothing Then Exit Sub
For Each rc In Target.Cells
For lx = 2 To 32 Step 6
If rc.Value = Cells(6, lx).Value Then
rc.Interior.ColorIndex = Cells(6, lx).Interior.ColorIndex
bSet = True
End If
Next lx
If Not (bSet) Then rc.Interior.ColorIndex = 2
Next
End Sub

==============================
Die Eingabewerte sind in Zeile 6 ( Zelle B6=RA , H6= T , N6=X ......) 6Werte halt die mit Farben hinterlegt sind.
Habe jetzt versucht noch weitere einzubinden aber ich schaff das nicht..zumindest werden die Farben die ich benutzen möchte nicht angenommen. Gibts da Farben die nicht wollen?
Benutze im moment die Farbnummern: 2 Weiß, 3 Rot , 8 Hellblau , 50 dunkelgrün, 6 Gelb , 45 Dunkl Orange,
versucht jetzt mit 33, 43, ...
Sind da nur 6 Farben machbar?
Meine VBA Kenntnisse sind nicht so dolle.
Wäre nett wenn mir Jemand den code mal beschreibt....danke.
Gruß Matze

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Bedingte Farbformatierung
28.03.2010 16:21:50
fcs
Hallo Matze,
traditionell gibt es bei den früheren Excelversionen Excel 56 Farben, die via Colorindex angesprochen werden können wobei standardmäßig in der Palette einige Fraben doppelt vorkommen. Wählst du in Excel 2007 Farben aus der Zellfüllfarbpalette dann wählt Excel unter VBA ggf. für ColorIndex einen Farbindex der der Zellfarbe am nächsten kommt. Je nachdem welche Farben du wählst, kann es vorkommen, dass für ähnliche Farben der gleiche ColorIndex zurückgegeben wird.
In diesem Fall ist es günstiger mit der Color-Eigenschaft statt ColorIndex zu arbeiten, um die eingestellten Farben zu übertragen.
Falls du mit ColorIndex arbeiten möchtest, dann kannst du dir mit dem folgenden Makro die eingestellte Farbpalette ausgeben und die gewünschten Farben in deine Tabelle übertragen.
Gruß
Franz
Sub Farbpalette2003()
'Erstellen der Farbpalette in einem neuen Tabellenblatt
Dim Zeile As Long, ColorIndexNr As Long
On Error GoTo Ende
Worksheets.Add Before:=Sheets(1)
Zeile = 1
Range("A2").Select
ActiveWindow.FreezePanes = True
With ActiveSheet
.Cells(Zeile, 1) = "Farbe"
.Cells(Zeile, 2) = "ColorIndex"
.Cells(Zeile, 3) = "Color"
Zeile = Zeile + 1
'Zelle ohne Farbe
.Cells(Zeile, 1).Clear
.Cells(Zeile, 2) = xlColorIndexNone
.Cells(Zeile, 3) = .Cells(Zeile + 1, 1).Interior.Color
.Cells(Zeile, 1) = "xlColorIndexNone"
Zeile = Zeile + 1
'Zelle, Farbe automatisch
.Cells(Zeile, 1).Clear
.Cells(Zeile, 2) = xlColorIndexAutomatic
.Cells(Zeile, 3) = .Cells(Zeile + 1, 1).Interior.Color
.Cells(Zeile, 1) = "xlColorIndexAutomatic"
For ColorIndexNr = 0 To 56
Zeile = Zeile + 1
.Cells(Zeile, 1).Interior.ColorIndex = ColorIndexNr
.Cells(Zeile, 2) = ColorIndexNr
.Cells(Zeile, 3) = Cells(Zeile, 1).Interior.Color
Next
Ende:
End With
End Sub

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige