Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1448to1452
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

RGB-Wert v. Zelle ausgeb. in drei Zellen R,G,B

RGB-Wert v. Zelle ausgeb. in drei Zellen R,G,B
29.09.2015 11:39:21
udo
Hallo Excel-Profis,
bräuchte bitte eure Hilfe,
Möchte gerne in vier Spalten ( A-D ) folgende Auswertung stattfinden lassen.
Beliebige Zeile.
In A wird manuell über Formatierungsfenster die Zelle gefärbt ( benutzerdefiniert )
In Spalte B,C ud D ( gleiche Zeile ) soll dann der R,G,B Zahlenwert stehen.
Per Formel oder VB.
könntet ihr mir hierbei helfen, wäre euch sehr dankbar.

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: RGB-Wert v. Zelle ausgeb. in drei Zellen R,G,B
29.09.2015 12:17:36
Daniel
Hi
folgender Code in ein allgemeines Modul:
Function FarbAnteil(Zelle As Range, GrundFarbe As String) As Long
Dim Farbe As Long
Application.Volatile
Farbe = Zelle(1).Interior.Color
Select Case GrundFarbe
Case "R": FarbAnteil = Farbe And 255
Case "G": FarbAnteil = (Farbe And 65280) / 256
Case "B": FarbAnteil = (Farbe And 16711680) / 65536
Case Else: FarbAnteil = -1
End Select
End Function

dann kannst du dir die einzelnen Farbkomponenten der Hintergrundfarbe einer Zelle als Wert ausgeben lassen.
Erster Parameter ist die Zelle, die du analysieren willst, der zweite Parameter beschreibt den Farbanteil den du auswerten willst. Zulässtig sind natürlich "R", "G" oder "B".
dh in Zelle B1 kommt die Formel =FarbAnteil($A1;"R")
in Zelle C1 kommt die Formel: =FarbAnteil($A1;"G")
und in Zelle D1 dann logischerweise: =FarbAnteil($A1;"B")
beachte, dass das Ändern einer Hintergrundfarbe Excel nicht dazu veranlasst, seine Formeln neu zu berechnen!
dh du musst immer erst noch irgend einen Zellwert ändern (aufgrund des Application.Volatil ist es ega welchen), damit die Formelergebnisse aktuell sind.
Gruß Daniel

Anzeige
1000x Danke !
29.09.2015 12:43:39
udo
Hallo Daniel,
ich Danke Dir sehr, dein Code passt prima !
Application.Volatil sagt mir zwar noch gar nichts, hatte ich bislang noch nie ?
werd ich mich nachher damit auseinander setzen.
Große Klasse !
Danke Dir !
Gruß udo

AW: 1000x Danke !
29.09.2015 13:45:44
Daniel
Hi
ist ganz einfach:
normalerweise berechnet Excel eine Formel nur dann neu, wenn im Zellbereich, welchen die Formel verwendet, ein Wert oder ein Formelergebnis verändert hat.
eine volatile Formel wird jedoch bei jeder Änderung in Excel neu berechnet, egal wo sie passiert.
normaler weise ist das unerwünscht, weil es schlecht für die Performance der Datei ist, wenn immer alle Formeln neu berechnet werden auch wenn es nicht notwendig ist.
das Problem ist hier, dass das Ändern der Farbe keine Neuberechnung auslöst und du nicht nur die Farbe sondern auch den Wert der ausgelesenen Zelle ändern musst, damit die Farbwerte aktuell sind.
dadurch, dass die Funktion volatil ist, aktualisiert sie sich aber bei jeder Änderung einer beliebigen Zelle, dh wenn du viele Farbformeln hast und du hast nachträglich viele Hintergrundfarben geändert, dann reicht es durch die Volatilität aus, wenn du eine beliebige Zelle änderst um alle Formeln zu aktualisieren und du musst nicht jede Formel einzeln aktualisieren.
gruß Daniel

Anzeige
...oder einfach F9 (für Neuberechnung!) (owT)
29.09.2015 13:48:21
EtoPHG

... klasse - Danke Dir sehr !!!! (owT)
29.09.2015 14:34:10
udo
...

316 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige