Progressbar
07.11.2005 14:37:20
Joachim
ich mache in Excel unter VBA umfangreiche Simulationsrechnungen, ohne irgendetwas in ein Tabellenblatt zu schreiben oder daraus einzulesen. Ich verwende Excel also als reine VBA-Rechenmaschine.
Da die Hauptrechnung in Form einer Schleife abläuft und das Berechnen des Ergebnisses teilweise mehrere Minuten braucht, würde ich gerne eine 'Progressbar' programmiern, um zu wissen, wie weit das Ganze fortgeschritten ist. Ich hab also auf einer UserForm eine ProgressBar platziert und entsprechenden Code geschrieben. Etwa so:
Sub Berechnungen()
Dim i as Long, Ergebnis as Long
Const lngDurchläufe as Long = 100 000
UserForm1.ProgressBar1.Min = 1
UserForm1.ProgressBar1.Max = lngDurchläufe
UserForm1.Show
For i=1 To lngDurchläufe
' Berechnungen
Userform1.Progressbar1.Value = lngDurchläufe
Next i
' Ausgabe: Debug.Print Ergebnis
Unload UserForm1
End Sub
Wenn ich die ProgressBar-Eigenschaft 'ShowModal' auf 'False' setze, funktioniert das zwar, aber die UserForm wird ohne Farbhintergrund angezeigt und ich kann die Hintergrundfarbe auch nicht setzen. Das Ganze sieht irgendwie nicht schön aus.
Wie kriege ich in dieser Situation VBA dazu, die UserForm korrekt anzuzeigern?
Danke und Gruß
Joachim