Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
844to848
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
844to848
844to848
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

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

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
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

96 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige