Hallo allerseits,
ich bitte um Hilfe:
Mit bedingter Formatierung kann man die Zellfarbe, abhängig vom Inhalt einfärben.
Ausgehend von einem Soll Ist-Vergleich zweier Zahlen in den Zellen 1 und 2 mit dem Ergebnis (Differenz-Wert) in Zelle 3, möchte ich diese, oder besser die Zelle 1 einfärben (wenns geht).
Ich möchte aber gleitend die Farben (Farbtöne) von blau bis rot , (fein) abgestuft entsprechend Zahlenbereich -(minus) 100 bis plus 100Prozent darstellen.
Wäre das irgendwie möglich ?
Danke schon mal
Frank
Hallo allerseits,
Hi,
mit VBA-Makro gehts :
Private Sub Worksheet\_SelectionChange(ByVal Target As Range)
Dim i As Integer
i = Int(Me.Cells(2, 2).Value \* 255)
If i \>= 0 Then
Me.Cells(2, 2).Interior.Color = RGB(255 - i, 255 - i, 255)
Else
Me.Cells(2, 2).Interior.Color = RGB(255, i + 255, i + 255)
End If
End Sub
Gruß.Timo
ich bitte um Hilfe:
Mit bedingter Formatierung kann man die Zellfarbe, abhängig
vom Inhalt einfärben.
Ausgehend von einem Soll Ist-Vergleich zweier Zahlen in den
Zellen 1 und 2 mit dem Ergebnis (Differenz-Wert) in Zelle 3,
möchte ich diese, oder besser die Zelle 1 einfärben (wenns
geht).
Ich möchte aber gleitend die Farben (Farbtöne) von blau bis
rot , (fein) abgestuft entsprechend Zahlenbereich -(minus) 100
bis plus 100Prozent darstellen.
Wäre das irgendwie möglich ?
Danke schon mal
Frank
Ich möchte aber gleitend die Farben (Farbtöne) von blau bis
rot , (fein) abgestuft entsprechend Zahlenbereich -(minus) 100
bis plus 100Prozent darstellen.
Hi Frank,
es geht nicht so dass du von blau=0 und rot=255 die erwünschten Effekte erhälst indem du die Werte änderst bis das Verhältnis umgekehrt ist.
Ich glaube eher du musst das durch Ausprobieren erreichen.
Dazu dient nachfolgender Code.
Erzeuge mit Ansicht-Symbolleisten–SteuerelemtToolbox–Drehfeld und --Textfeld 4 Tesxtfelder und 7 Drehfelder.
Mit Rechtsklick auf die Drehfelder, dann Eigenschaften stellst du die Werte ein.
das erste Drehfeld kriegt Min=1 und Max=56, die anderen 6 Drehfelder erhalten 0 und 255, bei den letzten 3 Drehfeldern noch SmallChange auf 10 stellen.
Drehfeld1=Farbennummer
Drehfeld2=Rot in 1er Schritten
Drehfeld3=Grün in 1er Schritten
Drehfeld4=Blau in 1er Schritten
Drehfeld5=Rot in 10er Schritten
Drehfeld6=Rot in 10er Schritten
Drehfeld7=Rot in 10er Schritten
Textfeld1=Farbnummer
Textfeld2=Rot
Textfeld1=Grün
Textfeld1=Blau
Ist alles einfacher als sich anhört. Jetzt kannst du mit den Drehfeldern dir die 56 Faren so einstellen bis der gewünschte Farbübergang erzielt ist.
Bis dahin habe ich oder ein andrer hier was gebastelt um diese Einstellungen oder mehrere Einstellungen per ausklick zu speichern bzw als Farben einzustellen, wieder auf Standardfarben stellen usw.
Achja, Alt+F11, Doppelklick auf Tabelle1, dort gehört der Code hin.
Dann das Makro faeRRben starten.
Makro FarbeAufStandard erklärt sich selbst
Gruß
Reinhard
Private Sub SpinButton1\_Change()
NrB = SpinButton1
TextBox2 = Cells(TextBox1 + 1, 3)
TextBox3 = Cells(TextBox1 + 1, 4)
TextBox4 = Cells(TextBox1 + 1, 5)
EnableEvents = False
SpinButton2 = TextBox2
SpinButton3 = TextBox3
SpinButton4 = TextBox4
SpinButton5 = TextBox2
SpinButton6 = TextBox3
SpinButton7 = TextBox4
EnableEvents = True
End Sub
Private Sub SpinButton2\_Change()
TextBox2 = SpinButton2
Call faerben
End Sub
Private Sub SpinButton3\_Change()
TextBox3 = SpinButton3
Call faerben
End Sub
Private Sub SpinButton4\_Change()
TextBox4 = SpinButton4
Call faerben
End Sub
Private Sub SpinButton5\_Change()
TextBox2 = SpinButton5
Call faerben
End Sub
Private Sub SpinButton6\_Change()
TextBox3 = SpinButton6
Call faerben
End Sub
Private Sub SpinButton7\_Change()
TextBox4 = SpinButton7
Call faerben
End Sub
Sub faerben()
Cells(TextBox1 + 1, 2).Interior.Color = RGB(TextBox2, TextBox3, TextBox4)
Cells(TextBox1 + 1, 3) = TextBox2
Cells(TextBox1 + 1, 4) = TextBox3
Cells(TextBox1 + 1, 5) = TextBox4
End Sub
Sub faerrben()
Range("A1:e1") = Split("Nr,Farbe,Rot,Grün,Blau", ",")
ActiveWorkbook.ResetColors
For n = 1 To 56
fa = ActiveWorkbook.Colors(n)
Cells(n + 1, 2).Interior.ColorIndex = n
Cells(n + 1, 3) = fa Mod 256
Cells(n + 1, 4) = Int(fa / 256) Mod 256
Cells(n + 1, 5) = Int(fa / 65536)
Next n
TextBox1 = 1
TextBox2 = 0
TextBox3 = 0
TextBox4 = 0
SpinButton1 = 1
SpinButton2 = 0
SpinButton3 = 0
SpinButton4 = 0
SpinButton5 = 0
SpinButton6 = 0
SpinButton7 = 0
End Sub
Sub farbenAufStandard()
ActiveWorkbook.ResetColors
End Sub
Vielen Dank …
für die Antworten. Werd es am Wochenende mal ausprobieren.
mit Dankbaren Grüßen
Frank