Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Hintergrundfarbe mit RGB-Werten ändern?

Hintergrundfarbe mit RGB-Werten ändern?
09.02.2007 00:57:22
Selma
Hallo Excel-Freunde,
ich möchte die Hintergrundfarbe der Zelle mit definierten RGB-Werten ändern.
Die Hinterdrundfarbe soll nur auf die markierte Zellen beim Makrostart angewendet werden und soll nur dann geändert werden, wenn in der Zelle ein Zahl zwischen 0 und 255 steht.
Die RGB-Werten sollen in VBA-Code intergriert werden, anbei ein Ausschnitt der RGB-Werten mit Farbnummer (die in Zellen stehen):
Farbnummer, R, G, B
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
8 127 127 127
9 219 219 219
10 255 0 0
11 255 102 102
12 204 0 0
13 204 102 102
14 153 0 0
15 153 51 51
16 102 0 0
17 102 51 51
18 51 0 0
19 51 51 51
20 255 51 0
usw.
Dieses Makro macht ähnliches. Nämlich die RGB-Werte sind im Arbeitsblatt und
die Schleife läuft solange der Wert in Spalte A nicht leer ist.

Sub test()
Dim Zaehler As Integer
Dim Wert1   As Integer
Dim Wert2   As Integer
Dim Wert3   As Integer
'Solange der Wert in Spalte 1 nicht leer ist, wird die Schleife durchgeführt
Do While Worksheets("Tabelle1").Cells(Zaehler + 2, 1).Value <> ""
Wert1 = Worksheets("TAbelle1").Cells(Zaehler + 2, 2).Value
Wert2 = Worksheets("TAbelle1").Cells(Zaehler + 2, 3).Value
Wert3 = Worksheets("TAbelle1").Cells(Zaehler + 2, 4).Value
Worksheets("Tabelle1").Cells(Zaehler + 2, 5).Interior.Color = _
RGB(Wert1, Wert2, Wert3)
Zaehler = Zaehler + 1
Loop
End Sub

Was muss verändert werden ?
Vielen Dank im Voraus....
Liebe Grüße
SELMA
Anzeige

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Hintergrundfarbe m.RGB-Werten ändern?
09.02.2007 01:49:30
Luc:-?
Entschuldige bitte, Selma,
aber irgendwie verstehe ich nicht ganz, was du machen willst! Hat dein Makro keinen Erfolg oder fkt es nur nicht? Letzteres sieht aber nicht unbedingt so aus.
Falls es nur keinen Erfolg hat, liegt das daran, dass du auch mit einem Makro einer xlZelle nicht irgendwelche definierten Farben aufzwingen kannst. Dafür ist allein die Option Farben im Menü Extras zuständig. Da kannst du manuell 56 definierte Farben einstellen (aber nicht per RGB!). Du müsstest also entweder herausfinden wie du mit VBA da ran kommst oder Objekt-Zelle-Paare definiert färben und den Farbunterschied ermitteln (xl nimmt für die Zelle die nächst ähnliche aus der Farbtabelle) und dich so allmählich an die gewünschte definierte Farbe herantasten. Dann liefert dir die Farbtabelle aber keine Farbnamen mehr! Excel stimmt in seinen Farbcodes und -namen ohnehin nicht mit CorelDraw, RAL und anderen überein. Es gibt auch definierte Farben fürs Internet, die regelmäßig codiert sind, aber auch nicht mit Excel übereinstimmen. Vielleicht hat MS das in xl12 geändert, weiß ich aber nicht und nützt dir mit xl9 ja auch nichts... ;-)
Gruß Luc :-?
Anzeige
AW: Hintergrundfarbe m.RGB-Werten ändern?
10.02.2007 21:55:53
Kurt
Hi,
absolut unklar, was der Zweck der Sache sein soll.
Vielleicht beschreibst du das mal in Prosa.
mfg Kurt
Anzeige
AW: Hintergrundfarbe m.RGB-Werten ändern?
10.02.2007 23:01:54
Selma
Hallo Kurt,
ich fange mal an ;)
im Arbeitsblatt "NEU" habe ich in Zellen die Zahlen stehen. Ich brauche neues Makro.
- Das Makro soll immer auf die markierte Zellen angewendet werden und soll die Hinterdrundfarbe der Zelle nur dann verändern, wenn in der Zelle ein Zahl zwischen 0 und 255 steht.
Welche Hintergrundfarbe die markierten Zellen bekommen hängt davon ab, welcher Zahl in der Zelle steht.
Für jeden Zahl von 0 bis 255 steht eine RGB-Wert.
Steht z.B. in der Zelle der Zahl "50" dann soll die Zelle mit RGB-Wert 255, 255, 0
gefärbt werden usw.
Die Farbzahlen mit dazugehörigen RGB-Werten sollen im VBA-Code drin sein.
Anbei ein Ausschnitt der RGB-Werten mit Farbnummer...
Farbnummer / Farbzahl R G B
47 102 102 51
48 51 51 0
49 51 51 51
50 255 255 0
51 255 255 102
52 204 204 0
Ich hoffe Du versteht mich jetzt besser.
PS: das Makro1 aus dem Arbeitsblatt "ALT" habe ich als ein ähnliches Beispiel gepostet.
LG
Selma
Anzeige
AW: Hintergrundfarbe m.RGB-Werten ändern?
13.02.2007 19:31:42
Frank
Hallo Selma,
wenn Du ein neues Tabellenblatt einfügst und es "Colors" nennst und in dieser Tabelle die Farbwerte wie folgt pflegst, dann müsste es funktionieren:
-----------------A------------B--------------C
Zeile 1--------255------------0------------255
Zeile 2---------50-----------50-------------50
...
Zeile 256--------0----------255-------------30
Dabei steht die Farde für den Zellwert 0 in Zeile 1 und der für Zellwert 255 in Zeile 256, also jeweils im 1 versetzt. es gibt keine Überschriften! Die Minuszeichen dienen nur als Füller, ds sonst die Formatierung zusammenbricht.

Sub fardcode()
Dim wsColor As Worksheet
Dim Zeile   As Long
Dim Rot     As Integer
Dim Gruen   As Integer
Dim Blau    As Integer
Set wsColor = ThisWorkbook.Worksheets("Colors")
If (ActiveCell.Value >= 0) And ActiveCell.Value <= 255 Then
Zeile = ActiveCell.Value + 1
Rot = wsColor.Cells(Zeile, 1)
Gruen = wsColor.Cells(Zeile, 2)
Blau = wsColor.Cells(Zeile, 3)
ActiveCell.Interior.Color = RGB(Rot, Gruen, Blau)
End If
End Sub

Das müsste es eigentlich tun.
Gruß Frank
Anzeige
AW: Hintergrundfarbe m.RGB-Werten ändern?
13.02.2007 22:44:00
Selma
Hallo Frank,
bei mir funktioniert es nicht. Könntest Du bitte deine Mappe hochladen ?
Vielen Dank....
LG
Selma
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

Hintergrundfarbe in Excel mit RGB-Werten ändern


Schritt-für-Schritt-Anleitung

Um die Hintergrundfarbe einer Zelle in Excel mit RGB-Werten zu ändern, kannst Du ein VBA-Makro verwenden. Hier ist eine einfache Schritt-für-Schritt-Anleitung:

  1. Öffne den VBA-Editor: Drücke ALT + F11 in Excel, um den VBA-Editor zu öffnen.

  2. Füge ein neues Modul hinzu: Klicke mit der rechten Maustaste auf „VBAProject (DeineDatei.xlsm)“ und wähle Einfügen > Modul.

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

    Sub FarbeAendern()
        Dim Zelle As Range
        Dim Wert1 As Integer
        Dim Wert2 As Integer
        Dim Wert3 As Integer
    
        For Each Zelle In Selection
            If Zelle.Value >= 0 And Zelle.Value <= 255 Then
                ' Hier RGB-Werte anpassen
                Select Case Zelle.Value
                    Case 0
                        Wert1 = 255: Wert2 = 255: Wert3 = 255 ' Weiß
                    Case 1
                        Wert1 = 255: Wert2 = 0: Wert3 = 0 ' Rot
                    Case 50
                        Wert1 = 255: Wert2 = 255: Wert3 = 0 ' Gelb
                    ' Füge hier weitere Fälle hinzu
                End Select
                Zelle.Interior.Color = RGB(Wert1, Wert2, Wert3)
            End If
        Next Zelle
    End Sub
  4. Schließe den VBA-Editor und gehe zurück zu Excel.

  5. Markiere die gewünschten Zellen in Deinem Arbeitsblatt.

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


Häufige Fehler und Lösungen

  • Fehler: Das Makro funktioniert nicht.

    • Lösung: Stelle sicher, dass Du die Zellen mit Werten zwischen 0 und 255 markiert hast. Überprüfe, ob die RGB-Werte in der Select Case-Anweisung korrekt definiert sind.
  • Fehler: Excel gibt eine Fehlermeldung aus.

    • Lösung: Überprüfe den VBA-Code auf Syntaxfehler und stelle sicher, dass alle Variablen korrekt deklariert sind.

Alternative Methoden

  1. Direktes Zuweisen einer Farbe: Du kannst auch die Interior.Color-Eigenschaft direkt in einer Formel verwenden, um die Zellenfarbe zu ändern, allerdings unterstützt dies keine RGB-Werte direkt.

  2. Verwendung einer Farbpalette: Du könntest die RAL-Farben in einer Tabelle auflisten und dann die entsprechenden RGB-Werte manuell zuweisen.


Praktische Beispiele

Hier sind einige Beispiele für RGB-Werte, die Du in Deinem VBA-Code verwenden kannst:

Farbnummer R G B
0 255 255 255 // Weiß
1 255 0 0 // Rot
50 255 255 0 // Gelb
100 0 255 0 // Grün

Du kannst diese Werte in die Select Case-Anweisung in Deinem Makro einfügen.


Tipps für Profis

  • Verwende eine Farbcode-Tabelle: Halte eine Tabelle mit RGB-Werten bereit, um die Zuordnung zu erleichtern.
  • Automatisiere das Einfärben: Du kannst das Makro so erweitern, dass es automatisch beim Öffnen der Datei ausgeführt wird.
  • Verwende die Cells-Eigenschaft: Wenn Du die Farben für einen großen Bereich ändern möchtest, könntest Du auch Cells anstelle von Selection verwenden.

FAQ: Häufige Fragen

1. Kann ich auch RAL-Farben verwenden? Ja, Du kannst RAL-Farben in Excel verwenden, indem Du die entsprechenden RGB-Werte aus einer RAL Farbkarte in Deinen VBA-Code integrierst.

2. Wie kann ich die Hintergrundfarbe einer Zelle per Formel ändern? In Excel gibt es keine direkte Formel, um die Hintergrundfarbe zu ändern. Du musst VBA verwenden, um dies zu erreichen.

3. Wie kann ich die RGB-Werte anpassen? Du kannst die RGB-Werte in der Select Case-Anweisung nach Deinen Wünschen ändern, um verschiedene Farben zu erhalten.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige