VBA-voortgangsbalk

Excel VBA-voortgangsbalk in Excel

Voortgangsbalk is iets dat ons laat zien hoeveel van een proces is gedaan of voltooid wanneer we grote sets codes uitvoeren die meer tijd nodig hebben om uit te voeren.We gebruiken de voortgangsbalk in VBA om de gebruiker te laten zien over de status van het proces, of dat we meerdere processen in een enkele code laten draaien, gebruiken we de voortgangsbalk om te laten zien welk proces hoeveel is gevorderd.

Een voortgangsbalk toont het percentage voltooide taken wanneer de daadwerkelijke taak achter het scherm wordt uitgevoerd met een reeks instructies die door de code worden gegeven.

Wanneer de VBA-code een aanzienlijke hoeveelheid tijd nodig heeft om uit te voeren, is het de zorg van de gebruiker om te weten hoe snel deze kan worden voltooid. Standaard moeten we de volledige tijd wachten om de taak te voltooien, maar door de voortgangsbalk in te voegen, leren we de voortgang van de VBA-code kennen.

In bijna alle computersoftware zien we een voortgangsbalk die de voortgang laat zien van de taak die we uitvoeren, net als de onderstaande afbeelding.

In Excel kunnen we een voortgangsbalk maken door VBA-codering te gebruiken. Als je je ooit hebt afgevraagd hoe we een voortgangsbalk kunnen maken, dan is dit het artikel op maat voor jou.

U kunt deze VBA-voortgangsbalksjabloon hier downloaden - VBA-voortgangsbalksjabloon

Maak uw eigen voortgangsbalk

Om een ​​voortgangsbalk te maken, moeten we verschillende stappen volgen. Hieronder staan ​​de stappen die u moet nemen bij het maken van het voortgangsbalkdiagram.

Stap 1: Maak of voeg een nieuw gebruikersformulier toe.

Zodra u op de bovenstaande optie klikt, ziet u een gebruikersformulier zoals hieronder.

Stap 2: Druk op F4 om het VBA-eigenschappenvenster te zien.

Op dit eigenschappen-tabblad moeten we de eigenschappen wijzigen van het VBA-gebruikersformulier dat we hebben ingevoegd.

Stap 3: Wijzig de naam van het gebruikersformulier in UFProgressBar.

Nu kunnen we dit gebruikersformulier verwijzen met de naam "UFProgressBar" tijdens het coderen.

Stap 4: Wijzig de Show Model Property van het gebruikersformulier in FALSE.

Stap 5: Pas nu de uitlijning van de gebruiker aan volgens uw behoeften. Ik heb de hoogte van het gebruikersformulier gewijzigd in 120 en de breedte in 300.

Stap 6: Wijzig het bijschrift van het gebruikersformulier in "Voortgangsstatusbalk".

Stap 7: Voer nu vanuit de toolbox van het gebruikersformulier LABEL in naar het gebruikersformulier bovenaan.

Met dit label moeten we de eigenschappen van het label instellen. Verwijder het bijschrift en maak het leeg en pas de breedte van het label aan.

Stap 8: Verander de naam van het label in "ProgessLabel".

Stap 9: Pak nu uit de gereedschapskist het frame en teken net onder het label dat we in de vorige stappen hebben ingevoegd. Zorg ervoor dat het frame zich in het midden van het gebruikersformulier bevindt.

Stap 10: Nu moeten we enkele eigenschappen van het frame wijzigen om het er precies hetzelfde uit te laten zien als het gebruikersformulier dat we hebben ingevoegd.

Eigenschap 1: Verander de naam van het frame in "ProgressFrame".

Property 2: verwijder het bijschrift en maak het leeg.

Woning 3: Wijzig het speciale effect van het frame in 6 - fmSpecialEffectBump.

Na al deze wijzigingen zou ons gebruikersformulier er als volgt uit moeten zien.

Stap 11: Voeg nu nog een label in. Plaats dit keer het label net binnen het frame dat we hebben geplaatst.

Zorg er bij het plaatsen van het label voor dat de linkerkant van het label precies past in het frame dat we hebben ingevoegd, zoals weergegeven in de bovenstaande afbeelding.

Stap 12: Na het plaatsen van het label wijzigt u de eigenschappen van het label als volgt.

Eigenschap 1: Verander de naam van het label in "MainProgressLabel".

Property 2: verwijder het bijschrift.

Woning 3: Verander de achtergrondkleur naar wens.

Ok, nu zijn we klaar met het instellen van de voortgangsbalk en op dit moment ziet het er zo uit.

Nu moeten we codes invoeren om dit perfect te laten werken.

Stap 13: Om het framework te maken, voegt u de onderstaande macro in Excel toe.

Code:

 Sub InitUFProgressBarBar () Met UFProgressBar .Bar.Width = 0 .Text.Caption = "0%" .Show vbModeless Eindigen met 

Opmerking: "UFProgressBar" is de naam die is gegeven aan het gebruikersformulier en "Bar" is de naam die is gegeven aan het frame dat we hebben gemaakt en "Tekst" is de naam die is gegeven aan het label in het frame.

Als u deze code nu handmatig of via de F5-toets uitvoert, zouden we de voortgangsbalk als volgt moeten zien.

Stap 14: Nu moeten we een macro maken om onze taak uit te voeren. Ik voer de taak uit om serienummers van 1 tot 5000 in te voeren. Naast deze code moeten we ook het voortgangsbalkdiagram configureren, onderstaande code is de op maat gemaakte code voor u.

Code:

 Sub ProgressBar_Chart () Dim i As Long Dim CurrentUFProgressBar As Double Dim UFProgressBarPercentage As Double Dim BarWidth As Long i = 1 Bel InitUFProgressBarBar Do While i <= 5500 Cells (i, 1) .Value = i CurrentUFProgressBar = i / 2500 BarWidth = UFProBar. Border.Width * CurrentUFProgressBar UFProgressBarPercentage = Round (CurrentUFProgressBar * 100, 0) UFProgressBar.Bar.Width = BarWidth UFProgressBar.Text.Caption = UFProgressBarPercentage & "% voltooid" DoEvents i End Subsidie ​​i + 1 Loop Unload UFPro