Een voortgangsindicator geeft aan hoelang een proces duurt. Het voordeel hiervan is dat de gebruiker niet in het luchtledige hoeft te wachten.
In het onderstaande voorbeeld wordt met behulp van een UserForm een voortgangsindicator gemaakt.
De onderstaande code simuleert een fictief proces in 10 stappen met telkens 1 seconde wachttijd.
Option Explicit Sub start() Dim huidig As Integer Dim max As Integer: max = 10 For huidig = 1 To max DoEvents Application.Wait Now + TimeValue("00:00:01") toonVoortgang huidig, max Next huidig End Sub
Om gebruik te kunnen maken van de onderstaande code dienen de volgende objecten aangemaakt te worden: UserForm, Frame en Label. Wijzig de initiële namen van deze objecten niet.
Sub toonVoortgang(huidig As Integer, max As Integer) With UserForm1 .Label1.BackColor = vbBlue .Label1.Width = huidig / max * .Frame1.Width .Show 0 .Repaint End With End Sub