Du kannst theoretisch ein UserForm basteln, welches ein banales Label als Progress-Bar nutzt.
Also etwas in der Art
sub meinFortschritt
for i = 1 to 100
label1.width = i
next i
end sub
Das Problem dabei ist, dass dies das „aktive Element“ wäre und der aktuelle Status des Fortschrittsbalkens nicht von der Dauer, sondern von der Menge der durchgeführten Aufgaben abhinge.
Was ich mal probiert - aber nicht hinbekommen - hatte, war dass ich Tasks durchführen wollte und über einen Progress-Balken informieren wollte wie weit die sind (d.h. Methode als aktives Element, Progress als passives Element).
Ich kann Dir noch das hier als Alternative anbieten, das nutze ich als Entwurfsmuster für Status-Aktualisierungen in meinen „großen Mappen“.
Du brauchst dafür nur ein eigenes Modul zu basteln, schon kannst Du es nutzen (natürlich suuuper dokumentiert lol) :
Dim PB\_AW As Long
Dim PB\_MW As Long
Sub ProgBarInitialisieren(MaxWert As Long)
Application.DisplayStatusBar = True
PB\_MW = MaxWert
PB\_AW = 0
ProgBarAktualisieren (0)
End Sub
Sub ProgBarAktualisieren(Wert As Long)
c = Math.Round(Wert / PB\_MW \* 100)
If PB\_AW
Gruss,
Michael