VBA Progress Bar - Skapa framstegsdiagram med VBA-kod

Innehållsförteckning

Excel VBA-förloppsindikator i Excel

Förloppsindikator är något som visar oss hur mycket av en process som har gjorts eller avslutats när vi kör stora uppsättningar koder som kräver längre tid att utföra, vi använder förloppsindikatorn i VBA för att visa användaren om status för processen, eller om vi har flera processer som körs i en enda kod använder vi förloppsindikatorn för att visa vilken process som har utvecklats hur mycket.

En förloppsindikator visar hur många procent av uppgifterna som utförts när den faktiska uppgiften körs bakom skärmen med en uppsättning instruktioner som ges av koden.

När det tar lång tid att utföra VBA-koden är det användarens ångest att veta hur snart den kan avslutas. Som standard måste vi vänta på heltid för att slutföra uppgiften, men genom att infoga förloppsindikatorn får vi veta framstegen för VBA-koden.

I nästan all datorprogramvara ser vi ett framstegsdiagram som visar förloppet för den uppgift vi utför precis som bilden nedan.

Utöver det kan vi skapa framstegsfält genom att använda VBA-kodning. Om du någonsin har undrat hur vi kan skapa en förloppsindikator, är det här artikeln skräddarsydd för dig.

Skapa din egen förloppsindikator

För att skapa ett framstegsfält måste vi följa flera steg. Nedan följer stegen att involvera när du skapar förloppsindikatorn.

Steg 1: Skapa eller infoga ett nytt användarformulär.

Så snart du klickar på alternativet ovan ser du ett användarformulär som nedan.

Steg 2: Tryck på F4- tangenten för att se fönstret för VBA-egenskaper.

På den här fliken egenskaper måste vi ändra egenskaperna för det VBA-användarformulär som vi har lagt in.

Steg 3: Ändra namnet på användarformuläret till UFProgressBar.

Nu kan vi hänvisa detta användarformulär med namnet “UFProgressBar” under kodning.

Steg 4: Ändra användarformulärets Visa modellegenskap till FALSE.

Steg 5: Justera nu användarens anpassning efter dina behov. Jag har ändrat höjden på användarformuläret till 120 och bredden till 300.

Steg 6: Ändra bildtexten för användarformuläret till "Statusstatusfält".

Steg 7: Nu, från verktygslådan i användarformuläret, infoga LABEL till användarformuläret högst upp.

Med den här etiketten måste vi ställa in etikettens egenskaper. Radera bildtexten och gör den tom och justera etikettens bredd.

Steg 8: Ändra namnet på etiketten till "ProgessLabel."

Steg 9: Ta nu ramen från verktygslådan och rita strax under etiketten som vi har satt in i föregående steg. Se till att ramen är i mitten av användarformuläret.

Steg 10: Nu måste vi ändra några av ramens egenskaper så att den ser exakt ut som användarformuläret vi har infogat.

Egenskap 1: Ändra ramens namn till "ProgressFrame."

Egendom 2: Ta bort bildtexten och gör den tom.

Egenskap 3: Ändra ramens specialeffekt till 6 - fmSpecialEffectBump.

Efter alla dessa ändringar ska vårt användarformulär se ut så här.

Steg 11: Sätt nu in ytterligare en etikett. Den här gången sätter du in etiketten precis innanför ramen vi har satt in.

När du sätter i etiketten, se till att etikettens vänstra sida passar exakt till den ram vi har satt in, som visas i bilden ovan.

Steg 12: Ändra etikettens egenskaper på följande sätt efter att du har satt i etiketten.

Fastighet 1: Ändra namnet på etiketten till "MainProgressLabel."

Egenskap 2: Ta bort bildtexten.

Fastighet 3: Ändra bakgrundsfärgen enligt dina önskemål.

Okej, nu är vi klara med att ställa in förloppsindikatorn, och vid denna tidpunkt ser det ut så här.

Nu måste vi ange koder för att detta ska fungera perfekt.

Steg 13: För att göra ramverket lägg till nedanstående makro i Excel.

Koda:

Sub InitUFProgressBarBar () With UFProgressBar .Bar.Width = 0 .Text.Caption = "0%". Visa vbModeless End With
Obs: "UFProgressBar" är namnet på användarformuläret och "Bar" är namnet på den ram vi har skapat, och "Text" är namnet på etiketten inuti ramen.

Nu, om du kör den här koden manuellt eller genom F5-tangenten, borde vi se förloppsindikatorn så här.

Steg 14: Nu måste vi skapa ett makro för att utföra vår uppgift. Jag utför uppgiften att infoga serienummer från 1 till 5000. Tillsammans med den här koden måste vi också konfigurera förloppsindikatorn. Thew-koden är den skräddarsydda koden för dig.

Koda:

Sub ProgressBar_Chart () Dim i så lång dimström UFProgressBar som dubbel dim UFPgressBar Procentdel som dubbel dim bar Bredd så länge i = 1 Samtal InitUFProgressBarBar Gör medan jag <= 5500 Celler (i, 1) .Värde = i CurrentUFProgressBar = i / 2500 BarWidth = UFProgressB. Border.Width * CurrentUFProgressBar UFProgressBarPercentage = Round (CurrentUFProgressBar * 100, 0) UFProgressBar.Bar.Width = BarWidth UFProgressBar.Text.Caption = UFProgressBarPercentage & "% Complete" DoEvents i = i + 1 Loop

Intressanta artiklar...