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.
ICT trainer en programmeur
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.
01 | Option Explicit |
02 |
03 | Sub start() |
04 |
05 | Dim huidig As Integer |
06 | Dim max As Integer : max = 10 |
07 | |
08 | For huidig = 1 To max |
09 | |
10 | DoEvents |
11 | |
12 | Application.Wait Now + TimeValue( "00:00:01" ) |
13 | |
14 | toonVoortgang huidig, max |
15 |
16 | Next huidig |
17 |
18 | 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.
01 | Sub toonVoortgang(huidig As Integer , max As Integer ) |
02 | |
03 | With UserForm1 |
04 | |
05 | .Label1.BackColor = vbBlue |
06 | .Label1.Width = huidig / max * .Frame1.Width |
07 | .Show 0 |
08 | .Repaint |
09 | |
10 | End With |
11 | |
12 | End Sub |
De onderstaande code simuleert een fictief proces in 10 stappen met telkens 1 seconde wachttijd.
01 | Option Explicit |
02 |
03 | Sub start() |
04 |
05 | Dim huidig As Integer |
06 | Dim max As Integer : max = 10 |
07 | |
08 | For huidig = 1 To max |
09 | |
10 | DoEvents |
11 | |
12 | Application.Wait Now + TimeValue( "00:00:01" ) |
13 | |
14 | toonVoortgang huidig, max |
15 |
16 | Next huidig |
17 |
18 | 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.
01 | Sub toonVoortgang(huidig As Integer , max As Integer ) |
02 | |
03 | With UserForm1 |
04 | |
05 | .Label1.BackColor = vbBlue |
06 | .Label1.Width = huidig / max * .Frame1.Width |
07 | .Show 0 |
08 | .Repaint |
09 | |
10 | End With |
11 | |
12 | End Sub |