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"