Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Zellen anhand RGB Weret färben

Zellen anhand RGB Weret färben
25.07.2016 22:17:08
Selma
Hallo Leute,
ich habe in einem Arbeitsblatt "RGB" beginnend ab Zeile A2 die eindeutige Nummer (von 0 bis 255) in der Spalte A und in Spalte B, C und D (die RGB-Farbe) für die Nummer der Spalte A.
Number Red Green Blue
0 255 255 255
1 255 0 0
2 255 255 0
3 0 255 0
4 0 255 255
5 0 0 255
6 255 0 255
7 255 255 255
usw.
In einem naderem Arbeitsblatt möchte ich für die markierten Zellen (beinhalten Nummern) die Zellen mit RGB-Farbe füllen.
Bsp. Zellinhalt "7" dann die Zelle mit 255,255,255 füllen usw.
Wie mache ich das bitte per VBA?
Vielen Dank im Voraus!
Gruß,
Selma
Anzeige

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

Betreff
Datum
Anwender
Anzeige
Das Folgende kannst du in eine Prozedur ...
25.07.2016 23:22:59
Luc:-?
…einbinden, Selma:
Const adFarbBer$ = "B2:Dn", tiFarbTab As String = "RGB"  'am PgmAnfg leicht änderbar!
Dim fbIx As Integer, fbRGB(2) As Long, NrFarbe As Variant
NrFarbe = WorksheetFunction.Transpose(Worksheets(tiFarbTab).Range(adFarbBer))
For Each xZ In ActiveWindow.RangeSelection
For fbIx = 0 To 2: fbRGB(fbIx) = NrFarbe(fbIx + 1, xZ + 1): Next fbIx
xZ.Interior.Color = RGB(fbRGB(0), fbRGB(1), fbRGB(2))
Next xZ
Feedback nicht unerwünscht! Gruß, Luc :-?
Besser informiert mit …
Anzeige
AW: Das Folgende kannst du in eine Prozedur ...
26.07.2016 09:39:29
Selma
Vielen Dank Luc!
Es funktioniert perfekt...
Gruß,
Selma
AW: Das Folgende kannst du in eine Prozedur ...
26.07.2016 12:57:02
Christian
Hallo zusammen,
kann dass sein, dass in der folgenden Zeile:
 NrFarbe(fbIx + 1, xZ + 1): Next fbIx

bei xZ durch das + 1 die Indexzahl irrtümlicherweise
um eins erhöht wird?
Gruß, Christian
Anzeige
Ja, aber absichtlich, da die FarbNrn mit 0 ...
26.07.2016 13:34:38
Luc:-?
…beginnen, Christian;
der Index des Farb-Arrays beginnt aber sowohl für Zeilen als auch Spalten mit 1, da es aus der Adaption eines ZellBereichs stammt.
Gruß, Luc :-?
Bitte sehr, gern geschehen! owT
26.07.2016 13:35:19
Luc:-?
:-?
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Zellen anhand RGB-Werte färben


Schritt-für-Schritt-Anleitung

Um die Zellen in Excel mithilfe von VBA nach RGB-Farben zu färben, folge diesen Schritten:

  1. Öffne Excel und erstelle zwei Arbeitsblätter: eines mit dem Namen „RGB“ und ein anderes für die Zellen, die du einfärben möchtest.

  2. Fülle das Arbeitsblatt „RGB“ mit den RGB-Werten. Die Spalte A sollte die Nummern von 0 bis 255 enthalten, während die Spalten B, C und D die entsprechenden RGB-Farben (Rot, Grün, Blau) darstellen.

    Beispiel:

    Number  Red  Green  Blue
    0       255  255    255
    1       255  0      0
    2       255  255    0
  3. Öffne den VBA-Editor (drücke ALT + F11).

  4. Füge ein neues Modul hinzu: Rechtsklick auf „VBAProject (deinWorkbookName)“ > Einfügen > Modul.

  5. Kopiere den folgenden VBA-Code in das Modul:

    Const adFarbBer$ = "B2:D255", tiFarbTab As String = "RGB"
    Dim fbIx As Integer, fbRGB(2) As Long, NrFarbe As Variant
    NrFarbe = WorksheetFunction.Transpose(Worksheets(tiFarbTab).Range(adFarbBer))
    For Each xZ In ActiveWindow.RangeSelection
       For fbIx = 0 To 2: fbRGB(fbIx) = NrFarbe(fbIx + 1, xZ + 1): Next fbIx
       xZ.Interior.Color = RGB(fbRGB(0), fbRGB(1), fbRGB(2))
    Next xZ
  6. Schließe den VBA-Editor und gehe zurück zu deinem Arbeitsblatt.

  7. Wähle die Zellen aus, die du einfärben möchtest.

  8. Führe das Makro aus: Drücke ALT + F8, wähle das Makro aus und klicke auf „Ausführen“.


Häufige Fehler und Lösungen

  • Fehler: Zellen färben sich nicht
    Lösung: Stelle sicher, dass die RGB-Werte in den Zellen korrekt eingegeben sind und dass du die richtigen Zellen auswählst, bevor du das Makro ausführst.

  • Fehler: Laufzeitfehler
    Lösung: Überprüfe, ob der Bereich adFarbBer$ korrekt definiert ist und ob die Arbeitsblätter die richtigen Namen haben.


Alternative Methoden

  • Bedingte Formatierung: Statt VBA kannst du auch die bedingte Formatierung nutzen, um Zellen basierend auf ihren Werten farblich hervorzuheben. Dies ist eine einfache Möglichkeit, ohne Programmierung auszukommen.

  • Excel-Add-Ins: Es gibt verschiedene Excel-Add-Ins, die das Färben von Zellen anhand von RGB-Werten vereinfachen können.


Praktische Beispiele

  1. Färbe Zellen basierend auf einer Liste: Erstelle eine Liste von Werten in einer Spalte und färbe die Zellen entsprechend den RGB-Werten in einer anderen Tabelle.

  2. Farben in Diagrammen darstellen: Nutze die RGB-Werte, um Diagramme in Excel farblich anzupassen, indem du die Hintergrundfarben der Diagramme entsprechend den RGB-Werten änderst.


Tipps für Profis

  • Verwende RGB-Farben effizient: Du kannst die RGB-Farben in Excel speichern und bei Bedarf abrufen, um eine konsistente Farbgebung in deinem gesamten Arbeitsblatt zu gewährleisten.

  • Makros automatisieren: Automatisiere den Prozess durch die Erstellung von Schaltflächen in deinem Arbeitsblatt, die das Makro mit einem Klick ausführen.


FAQ: Häufige Fragen

1. Wie kann ich die RGB-Werte anpassen?
Du kannst die RGB-Werte direkt in das Arbeitsblatt „RGB“ eintragen. Ändere einfach die Werte in den Spalten B, C und D.

2. Funktioniert dieser Code in allen Excel-Versionen?
Ja, dieser VBA-Code sollte in den meisten modernen Excel-Versionen funktionieren. Achte jedoch darauf, dass du die entsprechenden Berechtigungen für Makros aktiviert hast.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige