VBA Progress Bar - Lag fremdriftslinje ved hjelp av VBA-kode

Innholdsfortegnelse

Excel VBA Progress Bar i Excel

Progress Bar er noe som viser oss hvor mye av en prosess som er gjort eller ferdig når vi kjører store kodesett som krever lengre tid å utføre, vi bruker fremdriftslinjen i VBA for å vise brukeren om statusen til prosessen, eller om vi har flere prosesser som kjører i en enkelt kode, vi bruker fremdriftslinje for å vise hvilken prosess som har gått så mye.

En fremdriftslinje viser prosentandelen av oppgaver som er fullført når den faktiske oppgaven kjører bak skjermen med et sett med instruksjoner gitt av koden.

Når det tar lang tid å utføre VBA-koden, er det brukerens angst å vite hvor snart den kan fullføres. Som standard må vi vente på heltid for å fullføre oppgaven, men ved å sette inn fremdriftslinjen blir vi kjent med fremdriften til VBA-koden.

I nesten all dataprogramvaren ser vi et fremdriftslinjediagram som viser fremdriften til oppgaven vi utfører akkurat som bildet nedenfor.

I tillegg til at vi kan lage fremdriftslinje ved å bruke VBA-koding. Hvis du noen gang har lurt på hvordan vi kan lage en fremdriftslinje, er dette artikkelen skreddersydd for deg.

Lag din egen fremdriftslinje

For å lage en fremdriftslinje, må vi følge flere trinn. Nedenfor er trinnene du skal involvere når du lager fremdriftslinjediagrammet.

Trinn 1: Opprett eller sett inn et nytt brukerskjema.

Så snart du klikker på alternativet ovenfor, vil du se et brukerskjema som nedenfor.

Trinn 2: Trykk på F4- tasten for å se vinduet VBA-egenskaper.

I denne egenskapsfanen må vi endre egenskapene til VBA-brukerskjemaet vi har satt inn.

Trinn 3: Endre navnet på brukerskjemaet til UFProgressBar.

Nå kan vi henvise dette brukerskjemaet med navnet “UFProgressBar” mens vi koder.

Trinn 4: Endre Vis modellegenskap for brukerskjemaet til FALSE.

Trinn 5: Nå justerer du justeringen til brukeren etter dine behov. Jeg har endret høyden på brukerskjemaet til 120 og bredden til 300.

Trinn 6: Endre bildeteksten til brukerskjemaet til "Statusstatuslinje."

Trinn 7: Sett inn LABEL til brukerskjemaet øverst fra verktøykassen til brukerskjemaet.

Med denne etiketten må vi sette egenskapene til etiketten. Slett bildeteksten og gjør den blank, og juster bredden på etiketten.

Trinn 8: Endre navnet på etiketten til "ProgessLabel."

Trinn 9: Nå, fra verktøykassen, tar du rammen og tegner rett under etiketten vi har satt inn i de forrige trinnene. Forsikre deg om at rammen er i midten av brukerskjemaet.

Trinn 10: Nå må vi endre noen av egenskapene til rammen for å få den til å se nøyaktig ut som brukerskjemaet vi har satt inn.

Eiendom 1: Endre navnet på rammen til "ProgressFrame."

Eiendom 2: Slett bildeteksten og gjør den tom.

Property 3: Change the Special Effect of the frame to 6 - fmSpecialEffectBump.

After all these changes, our user form should look like this.

Step 11: Now insert one more label. This time insert the label just inside the frame we have inserted.

While inserting the label, make sure the left side of the label exactly fits the frame we have inserted, as shown in the above image.

Step 12: After inserting the label change the properties of the label as follows.

Property 1: Change the name of the label to “MainProgressLabel.”

Property 2: Delete the caption.

Property 3: Change the background colour as per your wish.

Ok, nå er vi ferdige med å sette opp fremdriftslinjen, og på dette tidspunktet ser det slik ut.

Nå må vi legge inn koder for å få dette til å fungere perfekt.

Trinn 13: For å lage rammeverket, legg til nedenstående makro i Excel.

Kode:

Sub InitUFProgressBarBar () Med UFProgressBar .Bar.Width = 0 .Text.Caption = "0%". Vis vbModeless End With
Merk: “UFProgressBar” er navnet gitt til brukerskjemaet, og “Bar” er navnet på rammen vi har opprettet, og “Tekst” er navnet på etiketten inne i rammen.

Nå, hvis du kjører denne koden manuelt eller gjennom F5-tasten, bør vi se fremdriftslinjen slik.

Trinn 14: Nå må vi lage en makro for å utføre oppgaven vår. Jeg utfører oppgaven med å sette inn serienumre fra 1 til 5000. Sammen med denne koden, må vi også konfigurere fremdriftslinjediagrammet. Thew code er den skreddersydde koden for deg.

Kode:

Sub ProgressBar_Chart () Dim i så lang dimstrøm UFProgressBar som dobbel dim UFPgressBar Prosentandel som dobbelt dim bar bredde så lenge i = 1 Ring InitUFProgressBarBar Gjør mens jeg <= 5500 celler (i, 1). Verdi = i CurrentUFProgressBar = i / 2500 BarWidth = UFPgraderB. Border.Width * CurrentUFProgressBar UFProgressBarPercentage = Round (CurrentUFProgressBar * 100, 0) UFProgressBar.Bar.Width = BarWidth UFProgressBar.Text.Caption = UFProgressBarPercentage & "% Complete" DoEvents i = i + 1 Loop

Interessante artikler...