Hi zusammen,
ich habe mir ein Makro gebaut, das eine Excel-Tabelle füllt und für die Berechnung eine ganze Weile braucht.
Zur Zeit benutze ich das ActiveX-Steuereelement Progress Bar auf einem kleinen Formular.
Folgender Code steht dahinter:
Private Sub UserForm_Activate()
Dim n%, tm!, ctm!
While n < 100
tm = Timer + 0.02
While ctm < tm
ctm = Timer
DoEvents
Wend
n = n + 1
pbtest.Value = n
Wend
Me.Hide
End Sub
Das Formular mit der Fortschrittsanzeige darauf lasse ich einblenden, sobald das eigentliche Makro gestartet wird. Das Blöde ist jetzt nur, daß es eigentlich gar keine Fortschrittsanzeige ist, denn die ProgressBar läuft runter, wie oben im Timer eingestellt, aber völlig unabhängig davon wie lange das Makro zur Berechnung braucht.
Wie könnte man die Fortschrittsanzeige während der ganzen Berechnungszeit einblenden lassen und den wirklichen Fortschritt der Berechnung anzeigen lassen?
Grüsse
pglw
ich habe mir ein Makro gebaut, das eine Excel-Tabelle füllt und für die Berechnung eine ganze Weile braucht.
Zur Zeit benutze ich das ActiveX-Steuereelement Progress Bar auf einem kleinen Formular.
Folgender Code steht dahinter:
Private Sub UserForm_Activate()
Dim n%, tm!, ctm!
While n < 100
tm = Timer + 0.02
While ctm < tm
ctm = Timer
DoEvents
Wend
n = n + 1
pbtest.Value = n
Wend
Me.Hide
End Sub
Das Formular mit der Fortschrittsanzeige darauf lasse ich einblenden, sobald das eigentliche Makro gestartet wird. Das Blöde ist jetzt nur, daß es eigentlich gar keine Fortschrittsanzeige ist, denn die ProgressBar läuft runter, wie oben im Timer eingestellt, aber völlig unabhängig davon wie lange das Makro zur Berechnung braucht.
Wie könnte man die Fortschrittsanzeige während der ganzen Berechnungszeit einblenden lassen und den wirklichen Fortschritt der Berechnung anzeigen lassen?
Grüsse
pglw