RGB-Beispiel von Josef Ehrensberger

Bild

Betrifft: RGB-Beispiel von Josef Ehrensberger von: Hans
Geschrieben am: 24.02.2005 10:01:31

Hallo Excel und VB Könner!

Würde gerne das RGB-Beispiel von Josef Ehrensberger:
https://www.herber.de/bbs/user/18470.xls

oder:

Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("A2:C2")) Is Nothing Then
If Not IsNumeric([A2]) Or [A2] < 0 Then [A2] = 0
If Not IsNumeric([B2]) Or [B2] < 0 Then [B2] = 0
If Not IsNumeric([C2]) Or [C2] < 0 Then [C2] = 0
Me.Shapes("Rechteck 1").Fill.ForeColor.RGB = RGB([A2], [B2], [C2])
End If
End Sub


in ein Makro-Modul einbinden (also rgb_anzeigen() ....) und dieses mit einem Button starten. Da ich VB Neuling bin, gelingt es mir nicht die forhandene "Tabellenform" in "Modulform" umzuschreiben.
Wer kann mir da helfen?
Grüße,

Hans
Bild


Betrifft: AW: RGB-Beispiel von Josef Ehrensberger von: Josef Ehrensberger
Geschrieben am: 24.02.2005 10:13:15

Hallo Hans!

Den Tabellennamen und die Adressen der Zellen mit den Werten musst du anpassen!

Sub rgb_anzeigen()
   With Sheets("Tabelle1") 'Tabellennamen und Zelladressen anpassen!
      If Not IsNumeric(.[A2]) Or .[A2] < 0 Then .[A2] = 0
      If Not IsNumeric(.[B2]) Or .[B2] < 0 Then .[B2] = 0
      If Not IsNumeric(.[C2]) Or .[C2] < 0 Then .[C2] = 0
   .Shapes("Rechteck 1").Fill.ForeColor.RGB = RGB(.[A2], .[B2], .[C2])
   End With
End Sub



Gruß Sepp

P.S.: Rückmeldung nicht vergessen!


Bild


Betrifft: AW: RGB-Beispiel von Josef Ehrensberger von: Hans
Geschrieben am: 24.02.2005 10:56:22

Vielen Dank Sepp!

Funktioniert wunderbar. Da ich meine RGB-Werte aber aus dem CIE-Norm-Gamut bekomme, kommt es vor das es negative Werte gibt, da außerhalb des RGB-Dreieckes. Ist Ok, wird ja dann Null gesetzt. Diese Null schreibt mir das Makro aber auch in die Zelle und überschreibt mir somit meine Formel. Wie kann ich das noch verhindern?

Besten Dank schon mal!

Hans


Bild


Betrifft: AW: RGB-Beispiel von Josef Ehrensberger von: Josef Ehrensberger
Geschrieben am: 24.02.2005 11:06:54

Hallo Hans!

Dann z.B. so!

Sub rgb_anzeigen()
Dim r As Integer, g As Integer, b As Integer
   With Sheets("Tabelle1") 'Tabellennamen und Zelladressen anpassen!
      If Not IsNumeric(.[A2]) Or .[A2] < 0 Then r = 0 Else r = .[A2]
      If Not IsNumeric(.[B2]) Or .[B2] < 0 Then g = 0 Else g = .[B2]
      If Not IsNumeric(.[C2]) Or .[C2] < 0 Then b = 0 Else b = .[C2]
   .Shapes("Rechteck 1").Fill.ForeColor.RGB = RGB(r, g, b)
   End With
End Sub



Gruß Sepp

P.S.: Rückmeldung nicht vergessen!


Bild


Betrifft: AW: RGB-Beispiel von Josef Ehrensberger von: Hans
Geschrieben am: 24.02.2005 11:52:34

Vielen Dank hat geklappt!!!


Bild


Betrifft: AW: RGB-Beispiel von Josef Ehrensberger von: Bert
Geschrieben am: 24.02.2005 10:13:19

Sub rgb_Farbe()
If Not IsNumeric([A2]) Or [A2] < 0 Then [A2] = 0
If Not IsNumeric([B2]) Or [B2] < 0 Then [B2] = 0
If Not IsNumeric([C2]) Or [C2] < 0 Then [C2] = 0
ActiveSheet.Shapes("Rechteck 1").Fill.ForeColor.rgb = rgb([A2], [B2], [C2])
End Sub


Bert


 Bild

Beiträge aus den Excel-Beispielen zum Thema "Minimum"