Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
468to472
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
468to472
468to472
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
farbe auslesen
17.08.2004 12:19:48
thomas
Ich habe ein Problem. Ich habe in Excel mit bedingter formatierung ein paar zellen formatiert! die haben je nach dem wie der wert ist rot grün oder gelb. Nun möchte ich eine tabelle erstellen die mir alle werte der roten grünen und gelben zellen anzeigt! also in einem datenblatt soll es die anzeigen wo der hintergrund rot ist auf einem anderen die wo es grün ist und nochmals auf einem anderen die wo es gelb ist!

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: farbe auslesen
ChrisL
Hi Thomas
Die durch eine bedingte Formatierung erzeugten Farben lassen sich nicht auswerten, allerdings das Kriterium, nach dem du die Bedingung erstellt hast.
Am einfachsten mit Autofilter nach den entsprechenden Kriterien filtern.
Gruss
Chris
AW: farbe auslesen
17.08.2004 13:53:13
thomas
kann ich nicht irgend wie mit wenn sagen wenn grün dann und wenn rot mach das ?
AW: farbe auslesen
17.08.2004 14:20:27
Bertram
Hi Chris,
das geht nur über VBA, allerdings auch nicht wenn die Farbe über die bedingte Formatierung zugwiesen wird.
Gruß
Bertram
AW: farbe auslesen
Ulf
Auch das geht! Nur ist es relativ aufwändig, deshalb tut sich das niemand an.
Ulf
AW: farbe auslesen
ChrisL
Hi Ulf
Wie soll das gehen? Meines Wissens gibt es keine ColorIndex, wenn die Farbe mittels bedingter Formatierung erzeugt wurde. Klar könnte man das Kriterium abfragen, aber dann sind wir wieder bei meiner ersten Antwort.
Gruss
Chris
Anzeige
AW: farbe auslesen
Ulf
Klar gibts einen Colorindex. Nur das nutzt ja nichts, du musst ja auch abfragen, ob die
entsprechende Bedingung eingetreten ist. Da leider eine Funktion, wie Value bei Gültigkeit fehlt, muss man die Abfrage selbst machen und das ist kompliziert, wenn die Bedingung eine komplexe Formel ist. Ansich ja auch kein Problem und längst gelöst, nur halt mit relativ großem Aufwand.
Ulf
AW: farbe auslesen
ChrisL
Hi Ulf
OK, es gibt einen ColorIndex auch bei Zellen mit bedingter Formatierung, allerdings ist der Index der gleiche ob die Zelle Grün oder Rot ist.
Tja schade dass wir die genaue Bedingung nicht kennen, vielleicht wärs gar nicht so kompliziert.
Gruss
Chris
Anzeige
AW: farbe auslesen
17.08.2004 23:13:36
nighty
hi alle :)
wie gewuenscht :)
das urmakro netterweise von hajo zur verfuegung gestellt bekommen,hab es nur leicht modifiziert
gruss nighty
beispiel
=BedingungAdd(A1:A3;3)
gesuchte farbe einer bedingten formatierung,in diesem falle rot fuer die drei
einzufuegen unter alt f11(vbeditor)/einfugen/allgemeines modul

Function BedingungAdd(Zellen As Range, farbe As Long) As Double
Dim Zelle As Range
Dim farben As Integer
For Each Zelle In Zellen
farben = GetCellColor(Zelle)
If farben = farbe Then
BedingungAdd = BedingungAdd + Zelle.Value
End If
Next
End Function


Function GetCellColor(cell As Range) As Integer
Dim i
Dim myVal
Dim myColor As Integer
Dim done As Boolean
On Error Resume Next
Names("testname").Delete
On Error GoTo 0
Application.ReferenceStyle = xlR1C1
myVal = cell.Value
myColor = cell.Interior.ColorIndex
done = False
For i = 1 To cell.FormatConditions.Count
With cell.FormatConditions.Item(i)
If .Type = 1 Then
Select Case .Operator
Case xlBetween
If (myVal >= Evaluate(.Formula1) And myVal <= Evaluate(.Formula2)) _
Or (myVal <= Evaluate(.Formula1) And myVal >= Evaluate(.Formula2)) Then
myColor = .Interior.ColorIndex
done = True
End If
Case xlEqual
If myVal = Evaluate(.Formula1) Then
myColor = .Interior.ColorIndex
done = True
End If
Case xlGreater
If myVal > Evaluate(.Formula1) Then
myColor = .Interior.ColorIndex
done = True
End If
Case xlGreaterEqual
If myVal >= Evaluate(.Formula1) Then
myColor = .Interior.ColorIndex
done = True
End If
Case xlLess
If myVal < Evaluate(.Formula1) Then
myColor = .Interior.ColorIndex
done = True
End If
Case xlLessEqual
If myVal <= Evaluate(.Formula1) Then
myColor = .Interior.ColorIndex
done = True
End If
Case xlNotBetween
If myVal < Evaluate(.Formula1) Or myVal > Evaluate(.Formula2) Then
myColor = .Interior.ColorIndex
done = True
End If
Case xlNotEqual
If myVal <> Evaluate(.Formula1) Then
myColor = .Interior.ColorIndex
done = True
End If
End Select
ElseIf .Type = 2 Then
Names.Add Name:="testname", RefersToR1C1Local:=.Formula1
If Evaluate("testname") Then
myColor = .Interior.ColorIndex
done = True
End If
Names("testname").Delete
Else
MsgBox "Unbekannter Typ: " & .Type, , "PANIC: In 

Function GetCellColor"
Exit Function
End If
End With
If done Then Exit For
Next
Application.ReferenceStyle = xlA1
GetCellColor = myColor
End Function

Anzeige

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige