Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1724to1728
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 VBA Anzeige

Grafik VBA Anzeige
03.12.2019 11:15:27
Carlis
Hallo zusammen,
ich erzeuge per VBA 20 Linien
Ich möchte gerne, dass die Linien einzeln auftauchen, dass man ihnen beim Auftauchen zusehen kann.
Dazu habe ich eine Verzögerungsschleife eingebaut, die aber nichts bewirkt, Es wird immer am Schluss alles zusammen angezeigt, auf einen Schlag.
Setze ich einen Haltepunkt, z.B. auf "set sh ,,," und klicke durch, dann tauchen die Linien einzeln auf,
Warum bewirkt meine Verzögerungsschleife nichts und wie könnte ich mein Ziel erreichen.
Danke für Tipps
Code

Public Sub test()
Dim sh As Shape
With Sheets("Tabelle1")
For y = 100 To 200 Step 5
Set sh = .Shapes.AddLine(0, y, 100, y)
For i = 1 To 20000000
Next i
Next y
End With
End Sub

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Grafik VBA Anzeige
03.12.2019 11:32:29
peterk
Hallo
Public Sub test()
    Dim sh As Shape
    Dim ts As Double

    With Sheets("Tabelle1")
        For y = 100 To 200 Step 5
            ts = Timer
            Set sh = .Shapes.AddLine(0, y, 100, y)
            Do
                DoEvents
            Loop Until (ts + 2) > Timer  ' 2 Sekunden 
        Next y
    End With
End Sub

VBA/HTML-CodeConverter, AddIn für Office 2002-2016 - in VBA geschrieben von Lukas Mosimann. Projektbetreuung:RMH Software & Media

Code erstellt und getestet in Office 15 - mit VBAHTML 12.6.0


Anzeige
AW: Grafik VBA Anzeige
03.12.2019 19:04:11
Carlis
Danke für die Lösung!
AW: Grafik VBA Anzeige
03.12.2019 15:10:48
volti
Hi,
hier noch 'ne Idee:
Private Declare PtrSafe Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
Public Sub test()
    Dim sh As Shape
    Dim ts As Double
    With Sheets("Tabelle1")
        For y = 100 To 120 Step 5
            ts = Timer
            Set sh = .Shapes.AddLine(0, y, 100, y)
            With Application
              .ScreenUpdating = True
              DoEvents: Sleep 1000      'Zeit in Millisekunden
            End With
        Next y
    End With
End Sub

viele Grüße
Karl-Heinz

Anzeige
AW: Grafik VBA Anzeige
03.12.2019 15:14:44
volti
Hi,
hier noch 'ne Idee:
Private Declare PtrSafe Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
Public Sub test()
    Dim sh As Shape
    With Sheets("Tabelle1")
        For y = 100 To 200 Step 5
            Set sh = .Shapes.AddLine(0, y, 100, y)
            Application.ScreenUpdating = True
            DoEvents: Sleep 1000      'Zeit in Millisekunden
        Next y
    End With
End Sub

viele Grüße
Karl-Heinz

Anzeige
AW: Grafik VBA Anzeige
03.12.2019 19:05:21
Carlis
Danke für die Lösung, funktioniert prima und ich kann sofar die Zeit einstellen!7

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige