Microsoft Excel

Herbers Excel/VBA-Archiv

Farbverlauf Zeichenobjekt / VBA

Betrifft: Farbverlauf Zeichenobjekt / VBA von: Stefan K.
Geschrieben am: 18.08.2004 13:11:31

Hallo Excelfreunde,
Ich habe ein Frage / Bitte:
ist es möglich, z.B. ein Zeichenobjekt gefüllt mit der Farbe hellgrau in einem Abstand von wenigen Millisekunden stufenweise abzudunkeln bis es z.B. schwarz ist ? Müßte doch mit einer Schleife und einer Wartefunktion gehen.
Könnt Ihr mir dabei behilflich sein ?

Herzlichen Dank und Gruß
Stefan

  


Betrifft: AW: Farbverlauf Zeichenobjekt / VBA von: Ulf
Geschrieben am: 18.08.2004 13:22:29

Sub Farbverlauf()
Dim Sh As Shape, f As Integer
Set Sh = ActiveSheet.Shapes("Oval 1")
For f = 200 To 0 Step -1
  With Sh
    .Fill.ForeColor.RGB = RGB(f, f, f)
    .Fill.Visible = -1
    .Fill.Solid
  End With
  DoEvents
Next
End Sub


Ulf


  


Betrifft: AW: Farbverlauf Zeichenobjekt / VBA von: Stefan K.
Geschrieben am: 18.08.2004 13:37:05

Superkrass...
Danke Ulf. Sag mir doch bitte noch was ich ändern muß, wenn ich
einen Verlauf von blau nach weiß haben möchte. Und was bedeutet
das .fill visible = -1 und das solid ?
Vielen Dank
Gruß Stefan


  


Betrifft: AW: Farbverlauf Zeichenobjekt / VBA von: udo(Stgt)
Geschrieben am: 18.08.2004 13:54:52


Sub Farbverlauf()

Dim Sh As Shape, f As Integer
Set Sh = ActiveSheet.Shapes("Rectangle 1")


weis nach blau:

For f = 255 To 0 Step -1
  With Sh
    .Fill.ForeColor.RGB = RGB(f, f, 255)
    .Fill.Visible = -1
    .Fill.Solid
  End With
  DoEvents
Next

End Sub


blau nach weis:

Sub Farbverlauf()

Dim Sh As Shape, f As Integer
Set Sh = ActiveSheet.Shapes("Rectangle 1")

For f = 0 To 255 Step 1
  With Sh
    .Fill.ForeColor.RGB = RGB(f, f, 255)
    .Fill.Visible = -1
    .Fill.Solid
  End With
  DoEvents
Next

End Sub



Gruß udo


  


Betrifft: AW: Farbverlauf Zeichenobjekt / VBA von: Stefan K.
Geschrieben am: 18.08.2004 14:28:32

Klasse, herzlichen Dank.
Gruß Stefan


  


Betrifft: AW: Farbverlauf Zeichenobjekt / VBA von: udo nochmal
Geschrieben am: 18.08.2004 14:01:09

... fill visible -1 , heisst im Endeffekt immer und den Wert -1 reduzieren von 200 ab bis 0 eben ....

und solid müsste Vollfarbig bedeuten , kannst ja auch transparent färben mit Prozentualer Angabe über die Transparenz ...

denke fast das du .fill.solid rauslassen kannst ?


kannst ja mal probieren ...

Die werte Hinter RGB( f, f, f ) sind die RGB werte / bzw. variablen
ertes f = Magenta ( rot ) = 255,0,0
zweites f = gelb = 0,255,0
drittes f = Cyan ( blau ) = 0,0,255

Weis wäre demzufolge = 255,255,255
und schwarz 0,0,0

kannst dir ja die werte nun so anpassen wies brauchst ,


Gruß udo

;-)


  


Betrifft: AW: Farbverlauf Zeichenobjekt / VBA von: Ulf
Geschrieben am: 18.08.2004 14:13:31

-1 bedeutet Füllung sichtbar, Rest siehe andere Antworten.

Ulf


  


Betrifft: AW: Farbverlauf Zeichenobjekt / VBA von: Stefan K.
Geschrieben am: 18.08.2004 15:30:30

Danke für Deine Mühe.
Kann man eigentlich die Geschwindigkeit des Effektes beeinflußen.
Gruß Stefan


  


Betrifft: AW: Farbverlauf Zeichenobjekt / VBA von: Ulf
Geschrieben am: 18.08.2004 15:46:34

Kann man, aber schneller gehts nicht.

Ulf