AW: Status "Balken" während VBA läuft
19.12.2007 11:53:09
Daniel
Hi
trotz Archiv hier nochmal zwei einfache Beispiele, wie man einfach einen Fortschrittsbalken mit Prozent-Anzeige realisieren kann.
die Prozentanzeige funktioniert natürlich nur in For-Next-Schleifen, deren Anfang und Ende bekannt ist.
das 2. Makro ist für den Fall, wenn dein Makro aus vielen einzelschritten besteht.
dann kann es auch Sinnvoll sein, in bestimmten Abständen den anwender zu informieren,daß sich was tut.
Sub Fortschritt1()
Dim i As Long
Dim Zeit As Double
For i = 1 To 100
Application.StatusBar = "Bearbeitet " & Format(i / 100, "0%") & " " & WorksheetFunction. _
Rept("X", 20 * i / 100)
Zeit = Timer + 0.1
Do Until Timer > Zeit
Loop
Next
Application.StatusBar = False
End Sub
Sub Fortschritt2()
Dim X As String
Dim SBar As String
X = "X"
SBar = SBar & X
Application.StatusBar = "Teilschritt 1 " & SBar
MsgBox "weiter"
SBar = SBar & X
Application.StatusBar = "Teilschritt 2 " & SBar
MsgBox "weiter"
SBar = SBar & X
Application.StatusBar = "Teilschritt 3 " & SBar
MsgBox "weiter"
SBar = SBar & X
Application.StatusBar = "Teilschritt 4 " & SBar
MsgBox "weiter"
Application.StatusBar = False
End Sub
Leider kennt die Statusleiste nur die Schriftart Tahoma, dh. du musst ein bissen in den Sonderzeichen dieser Schriftart suchen, falls du ein schöneres Zeichen als das X haben willst.
kleiner Tipp, die Unicode-Zeichen (code > 255) bekommst du mit ChrW(1234)
Gruß, Daniel