Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
880to884
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
880to884
880to884
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

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


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

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

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

Anzeige
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

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

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

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige