Microsoft Excel

Excel und VBA: Beitrag aus Herbers Excel-Forumsarchiv

RGB - Farbskala

Betrifft: RGB - Farbskala
von: Mike
Geschrieben am: 30.01.2005 19:38:27

Schönen guten Abend!

Ich habe eine zugegebenermaßen ungewöhnliche Aufgabe für die ich eure Hilfe benötige:

Weiß jemand, wie man die RGB Parameter nach und nach ändern muss, um einen Regenbogen darzustellen? Ich muss den Regenbogen auf 77 Zellen verteilen.

Vielen Dank.

Mike
  


Betrifft: AW: RGB - Farbskala
von: Hans W. Hofmann
Geschrieben am: 30.01.2005 19:46:18

Schwierig.
Verwende das HSL-Farbschema, da kann man durch weiterzählen des Hue-Wertes ein brauchbares Spektrum bekommen. Umrechnungen findest Du im Netz - googeln.
Wenn Du nicht fündig wirst - melde Dich nochmal - irgendwo hab da was...

Gruß HW


  


Betrifft: AW: RGB - Farbskala
von: Ramses
Geschrieben am: 30.01.2005 19:57:48

Hallo

das wird schwierig bis unmöglich werden:

1. Die Zellen in EXCEL unterstützen keine RGB Werte
2. In EXCEL stehen dir nur 56 definierte Farben zur Verfügung

Gruss Rainer


  


Betrifft: AW: RGB - Farbskala
von: Mike
Geschrieben am: 30.01.2005 20:07:30

Okay,

dann muss ich Shapes nehmen. Ich schaue mir gerade die Umrechnung der HSL-Werte an.

Danke.

Mike


  


Betrifft: AW: RGB - Farbskala
von: Ramses
Geschrieben am: 30.01.2005 20:15:42

Hallo

als Ansatz vielleicht hilfreich

Sub RGBAnzeige()
    '   auf Grundlage von einem Code von Nepumuk
    Dim Rot As Long, Grün As Long, Blau As Long, Wert As Long
    ' ****** Ergaänzung Hajo
    Dim i As Integer
    For i = 1 To 56
        Cells(i, 1).Interior.ColorIndex = i
        Wert = Cells(i, 1).Interior.Color
        ' ******
        '       Wert = ActiveCell.Interior.Color
        On Error Resume Next
        Rot = Wert Mod 256
        Wert = (Wert - Rot) / 256
        Grün = Wert Mod 256
        Wert = (Wert - Grün) / 256
        Blau = Wert Mod 256
        '        MsgBox Rot & ", " & Grün & ", " & Blau
        ' ***** Ergänzung Hajo
        Cells(i, 3) = Rot
        Cells(i, 4) = Grün
        Cells(i, 5) = Blau
    Next i
    Cells(57, 3) = "Rot"
    Cells(57, 4) = "Grün"
    Cells(57, 5) = "Blau"
    Cells(58, 3) = "RGB Farbwerte"
    ' *****
End Sub


Wenn du Shapes nimmst, kannst du zumindest ein paar Werte interpolieren

Gruss Rainer


  


Betrifft: AW: RGB - Farbskala mit RGB(funktion)?
von: RAnton
Geschrieben am: 30.01.2005 21:33:52

Hallo,

könnt ihr die RGB funktion nicht nehmen?

Beispiel:

Sub test()
Dim z As Range
Set z = Range("A1")
    z.Interior.Color = RGB(255, 100, 255)
End Sub


Gruß
Anton


  


Betrifft: AW: RGB - Farbskala mit RGB(funktion)?
von: Ramses
Geschrieben am: 30.01.2005 21:55:32

Hallo

es geht nicht darum die Zellen RGB zu formatieren, was sowieso nicht geht, sondern aus den bestehenden Farbindexes die entsprechenden RGB-Werte zu berechnen um einen Regenbogen bauen zu können.

Gruss Rainer


  


Betrifft: AW: RGB - Farbskala mit RGB(funktion)?
von: Mike
Geschrieben am: 30.01.2005 22:52:43

Genau,

der Tip, HSL-Werte zu nehmen und in RGB umzuwandeln ist wohl der richtige Weg. Bin gerade noch dabei, die Umwandlung im Netz zu checken...

Vielen Dank für eure Hilfe.

Mike


  


Betrifft: AW: RGB - Farbskala mit RGB(funktion)?
von: Hans W. Hofmann
Geschrieben am: 30.01.2005 23:18:37

Habs wieder gefunden HSL<->RGB:
http://www.Planet-Source-Code.com/vb/scripts/ShowCode.asp?txtCodeId=52733&lngWId=1

Gruß HW