Hallo Holger!
Danke erstmal für deine Hilfe.
Hmm, ich bin draufgekommen, dass wenn ich das so mache, hat das ganze nichts mit meinem sortiertem Array zu tun. ich möchte ja das array als hilfe heranziehen. eben ein absteigend sortiertes array, und dann je nach eingabe der variable(in meinem fall =4), das array "abteilen". sprich in 4er schritten die einfärbung vornehmen.
Das heißt ich müsste auf mein array zugreifen. sprich rot wäre von arr(0) bis arr(3), orange arr(4)-(7), usw.
nur fori=arr(0) to arr(zahl) step variable
funktioniert nicht, geht gar nicht mal in die schleife rein...
weißt du vlt wie das funktionieren könnte??
lg Nelly
Holger schrieb am 03.03.2009 17:40:37:
Hallo Nelly,
wenn variable größer als 1 ist, nimmt J nie den Wert 2 an, da wegen For J = 1 To zahl Step variable die Zahlen 1, 1+variable, 1+variable+variable usw. durchlaufen werden. Also wird der Case 2 nicht angesprungen.
Versuche mal folgenden Ansatz:
redim Farbe(4)
Farbe(0)=3
Farbe(1)=43
...
For J = 1 To zahl Step variable
For k = 1 To 4
ActiveChart.SeriesCollection(1).Points(k).Select
Selection.Fill.OneColorGradient Style:=msoGradientHorizontal, Variant:=2, _
Degree:=0.231372549019608
With Selection
.Fill.Visible = True
.Fill.ForeColor.SchemeColor = farbe(j)
End With
Next k
next j
Ob dein Code zur Einfärbung funktioniert, habe ich nicht weiter geprüft.
Gruß
Holger
Nelly schrieb am 03.03.2009 15:20:49:
Halli Hallo, ich wäre auf eure Hilfe angewiesen und zwar:
hab die Daten aus meiner Tabelle in ein Array gespeichert, dieses dann soriert, und auch die Länge ausgegeben. Nun habe ich ein absteigend sortiertes Array, diese Werte befinden sich allerdings in einem Chart. Ich möchte nun mein Chart mit 5 Fraben einfärben, Grün(0-20%), hellgrün(20-40%), gelb(40-60%), orange(60-80%), rot(80-100%).
habe mir das so vorgestellt, dass man mit einer Variablen sagt, wann die nächste Farbe dran ist. zB. 20 Balken, variable=4 --> die ersten 4 sind grün, nächsten 4 hellgrün usw.
variable = 4
For J = 1 To zahl Step variable
Select Case (J)
Case 1
For k = 1 To 4
ActiveChart.SeriesCollection(1).Points(k).Select
Selection.Fill.OneColorGradient Style:=msoGradientHorizontal, Variant:=2, _
Degree:=0.231372549019608
With Selection
.Fill.Visible = True
.Fill.ForeColor.SchemeColor = 3
End With
Next k
Case 2
For u = 4 To 8
ActiveChart.SeriesCollection(1).Points(u).Select
Selection.Fill.OneColorGradient Style:=msoGradientHorizontal, Variant:=2, _
Degree:=0.231372549019608
With Selection
.Fill.Visible = True
.Fill.ForeColor.SchemeColor = 43
End With
Next u
End Select
Next
nur leider springt dieser nicht in die nächsten case, case 2, case 3, ... bzw. glaub ich auch dass dies nicht der richtige Ansatz ist, wäre echt dankbar, wenn mir jemand helfen könnte!!!!
Vielen Dank, lG Nelly |