Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Flackern bei Animation

Forumthread: Flackern bei Animation

Flackern bei Animation
29.06.2007 13:08:25
Dennis
Hallo,
ich habe eine Animation in Excel erstellt, welche eigentlich auch ganz ok läuft, es kommt nur immer zu einem leichten Flackern, was etwas störend ist...
Ist das vielleicht normal bei einer Animation in Excel oder lässt sich das irgendwie vermeiden...
Hier der Code welcher die Animaiton steuert:

Public Sub Animation_Spline()
For i = -5 To 0 Step 0.1
Application.ScreenUpdating = False
Sheets("Blatt1").Activate
Range("A5").Value = 5 + i
Range("A8").Value = 5 - i
Sheets("Blatt2").Activate
Application.ScreenUpdating = True
Next
For i = 0 To -5 Step -0.1
Application.ScreenUpdating = False
Sheets("Blatt1").Activate
Range("A5").Value = 5 + i
Range("A8").Value = 5 - i
Sheets("Blatt2").Activate
Application.ScreenUpdating = True
Next
End Sub


Anzeige

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Flackern bei Animation
29.06.2007 13:13:00
Olaf
Hi,
welchen Zweck soll das erfüllen?
mfg Olaf

AW: Flackern bei Animation
29.06.2007 13:16:11
Dennis
Hi Olaf,
Blatt2, ist ein Diagramm....
durch die Veränderung der Zellen A5 und A8 auf Blatt 1 verändert sich der Graph in dem Diagramm auf Blatt 2.
Die Animation zeigt dadurch an, wie sich eben der Graph durch Variation dieser Werte verändert....
Gruss Dennis

Anzeige
AW: Flackern bei Animation
29.06.2007 13:18:00
Olaf
Hi,
um die Werte in die Zellen zu schreiben, müssen die Blätter nicht aktiviert werden.
Du musst halt auf das Blatt referenzieren.
mfg Olaf

AW: Flackern bei Animation
29.06.2007 13:17:00
Hajo_Zi
Hallo Denniis,
activate und slect sind in VBA zu 99,9% nicht notwendig und Du hast kein Problem mit dem Flackern.

Public Sub Animation_Spline()
Application.ScreenUpdating = False
With Sheets("Blatt1")
For i = -5 To 0 Step 0.1
.Range("A5").Value = 5 + i
.Range("A8").Value = 5 - i
Next
For i = 0 To -5 Step -0.1
.Range("A5").Value = 5 + i
.Range("A8").Value = 5 - i
Next
end With
Application.ScreenUpdating = True
End Sub


Was Du mit dem Code erreichen willst ist mir nicht klar.
Gruß Hajo

Anzeige
AW: Flackern bei Animation
29.06.2007 13:34:36
Dennis
Hi Hajo
Die Funktionsgleichung für das Diagramm ist mit den Zellen A5 und A8 verknüpft, z.B.
eine Parabel mit: f(x) = ax^2 + bx + c
A5 entpsricht dann zum Beisiel 'a' und A8 'b', durch Veränderung der Werte ändert sich f(x) welches im Diagramm dargestellt ist...
Den Code den du vorschlägst funktioniert leider nicht.
Keine Veränderung ist zu sehen, entferne ich "Application. ScreenUpdating" ist eine Veränderung der Zellen zu sehen, aber das Diagramm ändert sich nicht mehr mit :(
Aber das Flackern tritt nicht mehr auf :)
Gruss Dennis

Anzeige
AW: Flackern bei Animation
29.06.2007 13:41:00
Hubert
Hi,
so schnell wird ein Diagramm nicht neu gezeichnet, da musst du z.B. mit der API Sleep
ein paar Millisekunden Pause einbauen und ggf. noch DoEvents ausführen.
mfg Hubert

AW: Flackern bei Animation
29.06.2007 13:56:00
Dennis
Hi Hubert,
Also mit Sleep und DoEvents läufts,
aber das Flackern ist immer noch da, genau so wie mit meiner umständlichen Variante .Select
Lässt sich dann wohl nicht abstellen....
Gruss Dennis

Anzeige
AW: Flackern bei Animation
29.06.2007 13:33:25
Renee
Mazwara Dennis,
Dein Makro macht das gleiche, wie wenn Du schreiben würdest:

Public Sub x()
Sheets("Blatt1").Range("A5").Value = 0
Sheets("Blatt1").Range("A8").Value = 10
End Sub


Ich kann nicht verstehen, warum Du das so kompliziert machst.
Greetz Renee

Anzeige
AW: Flackern bei Animation
29.06.2007 13:44:20
Dennis
Ich weiss auch nicht wieso ich das so kompliziert mach ....
Aber wenn ich kein .Select verwende, läuft es so schnell durch das keine Veränderung mehr zu sehen ist.
Habe dann noch Application.wait Now + timeValue("00:00:01") eingefügt am Ende jeder Schleife eingefügt.
aber 1s Verzögerung ist viel zu lang, gibt es ne Möglichkeit weniger als 1s zu Verzögern?
Gruss Dennis
Anzeige
;

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige