Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1304to1308
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

Probleme mit Fortschrittsanzeige

Probleme mit Fortschrittsanzeige
04.04.2013 15:34:11
Axel
Hallo Excellenzen,
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.
Userbild
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

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Probleme mit Fortschrittsanzeige
05.04.2013 14:26:19
GuentherH
Hallo Axel,
erstens würde ich die Statusanzeige nicht nach jeder Zeile aktualisieren, sondern z.B. nur jede 100ste Zeile; Das könnte sich auch in der Performance bemerkbar machen, ausser eine Zeilenaktion braucht viel länger als das Form malen.
zweitens macht es evtl. Sinn eine doevents - Anweisung einzufügen, dann kann Excel auf Klicks reagieren (z.B. könnten Abbrechen und Pause Knopf in die Userform). Dabei ist aber abzuwägen, ob das Programm dadurch gestört werden kann.
if rCount mod 100 = 0 then
myProgress ...
...
UserForm1.Repaint
doevents
viele Grüße,
Günther

Anzeige
AW: Probleme mit Fortschrittsanzeige
10.04.2013 10:20:26
GuentherH
Hat das was gebracht?

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige