Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1092to1096
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

Grafik verschieben vba

Grafik verschieben vba
Martin
Hallo Zusammen
Ich möchte eine Grafik sichtbar, und langsam verschieben.
Habe folgenden Code geschrieben:
Sub verschieben1()
ActiveSheet.Shapes("UFO").Top = 10
ActiveSheet.Shapes("UFO").Left = 10
For k = 1 To 120000
Next k
ActiveSheet.Shapes("UFO").Top = 30
ActiveSheet.Shapes("UFO").Left = 30
For k = 1 To 120000
Next k
ActiveSheet.Shapes("UFO").Top = 10
ActiveSheet.Shapes("UFO").Left = 50
For k = 1 To 120000
Next k
ActiveSheet.Shapes("UFO").Top = 30
ActiveSheet.Shapes("UFO").Left = 70
For k = 1 To 120000
Next k
ActiveSheet.Shapes("UFO").Top = 10
ActiveSheet.Shapes("UFO").Left = 90
For k = 1 To 120000
Next k
ActiveSheet.Shapes("UFO").Top = 30
ActiveSheet.Shapes("UFO").Left = 110
End Sub

Leider springt das "UFO" gleich an den letzten Platz. Wie kriege ich das hin, dass die Grafik einen Punkt nach dem anderen anspringt und auf dem Display sichtbar ist.
Das mit der Schlaufe war nur zum Zeit zu gewinnen. Geht aber auch nicht. Eine weitere Idee war, mit:
Application.Wait Time + TimeSerial(0, 0, 1)
Leider geht dies auch nicht wirklich. Kann man die Zeit kleiner als 1 Sec. angeben?
Danke und schöne Grüsse aus der Schweiz
Martin

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

Betreff
Benutzer
Anzeige
AW: Grafik verschieben vba
05.08.2009 14:02:47
MichaV
Hallo,
Ideen haben die Leute...
Option Explicit
Sub test()
Dim i As Integer
Dim dx As Single
Dim dy As Single
With Me.Shapes("Ufo")
.Top = 30
.Left = 30
For i = 1 To 100
dx = i / 10
dy = i / 20
.Top = .Top + dx
.Left = .Left + dy
Sleep 10
DoEvents
Next i
For i = 100 To 1 Step -1
dx = i / 10
dy = i / 20
.Top = .Top - dx
.Left = .Left - dy
Sleep 10
DoEvents
Next i
End With
End Sub
Die Funktion Sleep deklarierst Du indem Du in einem MODUL diese Zeile reinschreibst:
Declare

Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
Gruß- Micha

Anzeige
AW: Grafik verschieben vba
05.08.2009 14:29:10
Martin
Hallo Micha

'Declare
Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
Dies frisst das VBA nicht.
Zur Erklärung zur Zeit stehen alle Makros in einem Modul.
Die Variable "Sleep" wird nicht erkannt.
Hast Du noch eine Idee?
Danke
AW: Grafik verschieben vba
05.08.2009 14:45:47
MichaV
Klar frisst es die. Schreibs ohne Apostroph in die erste Zeile des Moduls, also ganz oben.
AW: Grafik verschieben vba
05.08.2009 14:58:03
Martin
Hallo Micha
Ich bin nicht fähig . . .
Hier die Datei.
https://www.herber.de/bbs/user/63635.xlsm
Hoffe nun verstehst Du mich.
Anzeige
AW: Grafik verschieben vba
05.08.2009 15:03:42
MichaV
Junge...
in die erste Zeile
nicht in die ersten beiden Zeilen :o)
AW: Grafik verschieben vba
05.08.2009 15:09:13
Martin
Wie gesagt nicht fähig . . .
;-)
Danke
aber jetzt hab ich mal ne Frage
05.08.2009 15:12:53
MichaV
...kann mir jemand sagen warum die Grafik schneller wird (und auf dem Rückweg wieder langsamer). Woran liegt das bitte?
AW: aber jetzt hab ich mal ne Frage
05.08.2009 15:45:02
Wolli
Weil der Verschiebebetrag dx / dy von i abhängt! Gruß, Wolli
AW: aber jetzt hab ich mal ne Frage
05.08.2009 15:46:28
MichaV
oh Mann, ja klar. Ich bin auch unfähig....

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige