2017-01-24 4 views
0

ich ein Skript mit dem wie diese For-Schleife schreibe:Direkt-Fenster stoppt an laufenden Aktualisierung

Sub test() 
    For i = 1 to 200000 
     'Some code 
     Debug.print i 
    Next i 
End Sub 

Wenn ich bis zu einem gewissen Punkt geht die Aktualisierung des sofortigen Fenster stoppt, sieht ganze Anwendung vereisen ohne Antwort, bis die 200000 Loops fertig sind.

Ich habe meine Kalkulationstabellen minimiert und deaktiviert ScreenUpdating bereits.

In Bezug auf die erfolgreiche Beendigung eines Laufs gibt es keine große Sache, aber ich denke, ich sollte in der Lage sein, den Fortschritt zu verfolgen, wie eine Idee, wenn der Lauf zu Ende gehen wird. Aktuell verwende ich die Wait Funktion zwischen den Abschnitten, damit die Fenster aktualisiert werden können, um das Problem zu umgehen, aber ich habe das Gefühl, dass dies ein dummer Weg ist ... Ich denke, das System sollte schlau genug sein, Ressourcen für die Aktualisierung der Fenster zuzuweisen. ..

Jede bessere Idee?

+0

Ich habe Ihren Code ausgeführt und es gelaufen 200k Mal ohne Fehler/Einfrieren überhaupt. Die einzige Sache, die ich geändert habe, ist 'Option Explicit' und' dim i as Long'. Versuchen Sie, diese auch zu Ihrem Code hinzuzufügen. – Wujaszkun

Antwort

1

Anstatt Wait zu verwenden, wie wäre es mit DoEvents?

+0

Ich denke, das ist genau das, was ich will. Vielen Dank. –

Verwandte Themen