Voortgangsindicator VBA

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