Anzeige
Archiv - Navigation
1008to1012
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

grünrote Farbskala

grünrote Farbskala
17.09.2008 19:37:00
Reinhard
Hallo Wissende,
dieser Code klappt:

Sub Makro1()
Dim S As Shape, N As Integer
' Left, Top, Width, Height)
For Each S In ActiveSheet.Shapes
S.Delete
Next S
For N = 255 To 1 Step -1
ActiveSheet.Shapes.AddShape(msoShapeRectangle, 256 - N, 100, 1, 20).Select
With Selection
Selection.ShapeRange.Fill.Visible = msoTrue
Selection.ShapeRange.Fill.Solid
Selection.ShapeRange.Fill.ForeColor.SchemeColor = RGB(0, 0, 0)
Selection.ShapeRange.Fill.Transparency = 0#
Selection.ShapeRange.Line.Visible = msoFalse
End With
Next N
End Sub


Aber ich würde natürlich gerne diese Zeile in der Schleife benutzen:
Selection.ShapeRange.Fill.ForeColor.SchemeColor = RGB(0, N, 0)
nur da kommt Laufzeitfehler, eingegebener Wert außerhalb des zugelassenen Bereichs.
Da RGB() ja die Werte von 0-255 kennt liegt es wohl an SchemeColor, leider kommt da keine IntelliSense die mir andere "Color"-Eingabearten an der Stelle anbietet:-(
Mit welchem Code erreiche ich mein Ziel eine grüne Farbskala zu haben?
Zweite Frage, wenn ich das ".Select" bei
ActiveSheet.Shapes.AddShape(msoShapeRectangle, 256 - N, 100, 1, 20).Select
weglasse, wird das nicht akzeptiert, okay, ich könnte ".Name=xyz" benutzen, aber wenn ich nun einfach so ein Rechteck einfügen will ohne es zu selektieren und ohne es zu benamen, was mache ich denn dann?
Danke ^ Gruß
Reinhard

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: grünrote Farbskala
17.09.2008 22:31:25
K.Rola
Hallo,
wann lernst du es endlich mal, Objektvariable zu verwenden?
Option Explicit

Sub version()
Dim Sh As Shape, N As Integer
ActiveSheet.DrawingObjects.Delete
For N = 255 To 1 Step -1
Set Sh = ActiveSheet.Shapes.AddShape(1, 256 - N, 100, 1, 20)
With Sh
.Line.Visible = 0
.Fill.Solid
.Fill.Visible = -1
.Fill.ForeColor.RGB = RGB(0, N, 0)
.Fill.Transparency = 0
End With
Next
Set Sh = Nothing
End Sub


Gruß K.Rola

AW: grünrote Farbskala
18.09.2008 03:38:00
Reinhard
Hallo K.Rola.
danke dir wie immer :-)
Und dein Rüffel erfolgt zu Recht, iregndwas kommt immer dazwischen, grad kurz vorher wenn ich mal im Editor auf F2 klicken will um zu versuchen mich schlau machen will was das eigentlich da für Objekte sind und was das eigentlich ist so ein Objekt in Vba.
Jetzt habe ich ein anderes Problem was nix mit Vba zu tun hat, ich habe passenderweise Rot/Grün Farbsehschwäche, für mich sieht die entstandene Farbskala so aus, links und rechts mehr oder minder schwarze Stellen, in der Mitte sind links Bereiche die ich als hellgrün bezeichnen würde, rechts davon sowas wie nicht helles Rot.
Deshalb meine Frage noch offen, wie seht ihr das wenn ihr den Code ablaufen lässt.
Mein Plan ist, daß es von links aus gesehen erst dunkelgrün ist dann mit immer weniger Grüntönen helleres Grün wird, dann beginnt der Rotbereich, anfangs mit ganz wenig Rotanteilen bis hin beim Ende bei Knallrot.
Sieht das so aus für euch?
Nachstehend der Code.
Danke ^ Gruß
Reinhard

Sub version()
Dim Sh As Shape, N As Integer
ActiveSheet.DrawingObjects.Delete
For N = 0 To 255
Set Sh = ActiveSheet.Shapes.AddShape(1, N + 1, 100, 1, 20)
With Sh
.Line.Visible = 0
.Fill.Solid
.Fill.Visible = -1
.Fill.ForeColor.RGB = RGB(0, N, 0)
.Fill.Transparency = 0
End With
Next N
For N = 0 To 255
Set Sh = ActiveSheet.Shapes.AddShape(1, 512 - N, 100, 1, 20)
With Sh
.Line.Visible = 0
.Fill.Solid
.Fill.Visible = -1
.Fill.ForeColor.RGB = RGB(N, 0, 0)
.Fill.Transparency = 0
End With
Next N
Set Sh = Nothing
End Sub


Anzeige
AW: grünrote Farbskala
19.09.2008 14:07:00
K.Rola
Hallo,
erkläre einem Blinden Farben oder einem Alien was rechts und links ist.
Die Grünpalette geht von schwarz(RGB = 0,0,0) bis Grün, hellgrüne Töne sind ja wieder gemischt
mit rot und blau und werden mit deinem Code nicht erzeugt. Genauso ist es bei der Rotpalette.
Ich konnte nicht erkennen, was du nun eigentlich anstrebst.
Gruß K.Rola
AW: grünrote Farbskala
19.09.2008 20:34:00
Reinhard
Hallo K.Rola,
ich möchte/wünsche mir einen "Farbbalken", also ein längliches Rechteck, das Farbenmäßig z.B. links mit Dunkelgrün beginnt, dann nach rechts hin immer helleres Grün darstellt, danach ganz helles Rot was dann nach rechts hin immer dunker wird bis hin zu Dunkelrot.
Und ja, habe falsch gedacht, RGB(0,0,0) ist nicht Dunkelgrün:-(
Danke dir für die Aufmerksamkeit
Gruß
Reinhard
Anzeige
AW: grünrote Farbskala
20.09.2008 17:00:47
Reinhard
Hallo K.Rola,
dankeschön, sieht schon sehr viel besser aus die Skala.
Gruß
Reinhard

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige