Hallo,
ich habe folgendes Problem. Und bitte nicht über meine VBA Fähigkeiten meckern, bin schon froh, dass ich überhaupt so weit gekommen bin.
In der Spalte A1 bis Ax habe ich Zahlen für bestimmte Produkte stehen. Anhand des Wertes dieser Zahlen möchte ich die Füllfarbe von Freihandformen ändern (sollen Poduktwerte auf eine "Karte" mit Postleitzahlengebiete werden).
Mit einer If Abfrage schaue ich wie groß der Produktwert ist und entsprechend soll die Füllfarbe der Freihandformen sich ändern. Von hellgrün, dunkelgrün. gelb, ....rot.
Dazu habe ich mir die Füllfarbennummer herausgesucht, aber diese ist glaube ich für Zellfarben, nicht für Freihandformen. Wenn ich das Skript wie unten laufen lasse, kommen merkwürde Farben zustande. Durch ausprobieren habe ich festgestellt, dass sich die Farben immer wiederholen und es quasi keine mehreren Farbtöne einer Farbe gibt. Hat da jemand eine Lösung?
So weit bin ich gekommen:
Sub Schaltfläche8_Klicken()
Dim wertforn As Integer
Dim wert01 As Double
Dim i As Long
Sheets(2).Select
Produktgr = Range("Q1")
If Produktgr = 1 Then
For i = 1 To 9
wertform = 0 + i
wert01 = Cells(i, 1)
ActiveSheet.Shapes("PLZF" & wertform).Select
With Selection
If wert01 > 20 Then
.ShapeRange.Fill.ForeColor.SchemeColor = 4
ElseIf wert01 > 17 Then
.ShapeRange.Fill.ForeColor.SchemeColor = 50
ElseIf wert01 > 14 Then
.ShapeRange.Fill.ForeColor.SchemeColor = 10
ElseIf wert01 > 11 Then
.ShapeRange.Fill.ForeColor.SchemeColor = 36
ElseIf wert01 > 10 Then
.ShapeRange.Fill.ForeColor.SchemeColor = 6
ElseIf wert01 > 8 Then
.ShapeRange.Fill.ForeColor.SchemeColor = 44
ElseIf wert01 > 6 Then
.ShapeRange.Fill.ForeColor.SchemeColor = 45
ElseIf wert01 > 4 Then
.ShapeRange.Fill.ForeColor.SchemeColor = 46
ElseIf wert01 > 3 Then
.ShapeRange.Fill.ForeColor.SchemeColor = 3
ElseIf wert01 < 1 Then
.ShapeRange.Fill.ForeColor.SchemeColor = 15
End If
End With
Next i
ElseIf Produktgr= 2 Then
...
...
|