Probleme mit Fortschrittsanzeige
04.04.2013 15:34:11
Axel
heute habe ich ein kleines Problem mit meiner Fortschrittsanzeige. Ich habe es zunächst mit der Statusbar versucht, dann aber gelernt (danke Luschi), dass die wohl nicht allzu zuverlässig arbeitet.
Jetzt habe ich mir eine Userform erstellt, die ebenso wie die Statusanzeige gut startet... aber nach 2 min (=1.5% des ersten von 20 Arbeitsaufträgen) "einfriert". Hierunter verstehe ich, dass Excel und auch die Userform in der Titelzeile den Titel zeigt und "(reagiert nicht)" hinzufügt (bei mir in der NL Version "reageert niet"), sowie "die Sanduhr" drehen lässt. Siehe hierzu auch das folgende .jpg.
Excel arbeitet aber im Hintergrund gut durch?! Wenn ich während der Abarbeitung dann surfe und / oder der Schirm aus dem Schlafzustand zurückkehrt finde ich die Fortschrittsanzeige z.T. auch mit 80% (oder anderen Werten), bevor sie wieder "einfriert". Weil das Makro gerne mal 45min für die Abarbeitung benötigt (20txt-dateien à 120MB auslesen), ist die Fortschrittsanzeige wichtig für mich. Excel stürtzt schon mal ab zwischendurch...
Habt Ihr gute Vorschläge für mich?
Gruß,
Axel
Der Teil-Code sieht etwa so aus:
Application.ScreenUpdating = False
rMax = FileLen(myFile) / 1024 / 0.0504 'Zeilenzahl im Txt-file schätzen
Do While TextDat.AtEndOfStream True
rCount = rCount + 1
myProgress = "progressing " & Round(100 * (rCount / rMax), 1) & _
"% of file with ValueID" & myValueID
UserForm1.Label1.Caption = myProgress
UserForm1.Repaint
Loop