VBA-statuslinje - Opret statuslinjediagram ved hjælp af VBA-kode

Indholdsfortegnelse

Excel VBA-statuslinje i Excel

Progress Bar er noget, der viser os, hvor meget af en proces der er udført eller afsluttet, når vi kører store sæt koder, der kræver længere tid at udføre, vi bruger statuslinjen i VBA til at vise brugeren om status for processen, eller hvis har flere processer, der kører i en enkelt kode, bruger vi statuslinjen til at vise, hvilken proces der er gået, hvor meget.

En statuslinje viser procentdelen af ​​opgaver, der er udført, når den aktuelle opgave kører bag skærmen med et sæt instruktioner givet af koden.

Når det tager lang tid at udføre VBA-koden, er det brugerens angst at vide, hvor hurtigt den kan afslutte. Som standard skal vi vente på fuld tid for at fuldføre opgaven, men ved at indsætte statuslinjen lærer vi fremskridtene med VBA-koden.

I næsten al computersoftwaren ser vi et statuslinjediagram, der viser forløbet af den opgave, vi udfører, ligesom nedenstående billede.

I excel til kan vi oprette statuslinje ved hjælp af VBA-kodning. Hvis du nogensinde har spekuleret på, hvordan vi kan oprette en statuslinje, så er dette artiklen skræddersyet til dig.

Opret din egen statuslinje

For at oprette en statuslinje skal vi følge flere trin. Nedenfor er de trin, der skal involveres, mens du opretter statuslinjediagram.

Trin 1: Opret eller indsæt en ny brugerformular.

Så snart du klikker på indstillingen ovenfor, vil du se en brugerformular som nedenstående.

Trin 2: Tryk på F4- tasten for at se VBA-egenskabsvinduet.

På denne egenskabsfane skal vi ændre egenskaberne for den VBA-brugerformular, vi har indsat.

Trin 3: Skift navnet på brugerformularen til UFProgressBar.

Nu kan vi henvise denne brugerformular med navnet “UFProgressBar” under kodning.

Trin 4: Skift Brugerformularens Vis modelegenskab til FALSK.

Trin 5: Juster nu justeringen af ​​brugeren, så den passer til dine behov. Jeg har ændret brugerformularens højde til 120 og bredde til 300.

Trin 6: Skift billedtekst på brugerformularen til "Statusstatuslinje".

Trin 7: Indsæt LABEL til brugerformularen øverst fra værktøjskassen i brugerformularen.

Med denne etiket skal vi indstille egenskaberne for etiketten. Slet billedteksten, og gør den blank, og juster bredden på etiketten.

Trin 8: Skift navn på etiketten til "ProgessLabel".

Trin 9: Tag nu rammen fra værktøjskassen og tegn lige under den etiket, vi har indsat i de foregående trin. Sørg for, at rammen er i midten af ​​brugerformularen.

Trin 10: Nu skal vi ændre nogle af egenskaberne for rammen for at få den til at se nøjagtig den samme ud som den brugerformular, vi har indsat.

Ejendom 1: Skift rammens navn til "ProgressFrame".

Ejendom 2: Slet billedteksten, og gør den tom.

Ejendom 3: Skift rammens specielle effekt til 6 - fmSpecialEffectBump.

Efter alle disse ændringer skal vores brugerformular se sådan ud.

Trin 11: Indsæt nu endnu en etiket. Denne gang indsætter du etiketten lige inden for den ramme, vi har indsat.

Mens du indsætter etiketten, skal du sørge for, at venstre side af etiketten passer nøjagtigt til den ramme, vi har indsat, som vist i ovenstående billede.

Trin 12: Efter indsættelse af etiketten skal du ændre egenskaberne for etiketten som følger.

Ejendom 1: Skift navnet på etiketten til "MainProgressLabel."

Ejendom 2: Slet billedteksten.

Ejendom 3: Skift baggrundsfarve efter dit ønske.

Ok, nu er vi færdige med at opsætte statuslinjen, og på dette tidspunkt ser det sådan ud.

Nu skal vi indtaste koder for at få dette til at fungere perfekt.

Trin 13: For at gøre rammen tilføj nedenstående makro i Excel.

Kode:

Sub InitUFProgressBarBar () Med UFProgressBar .Bar.Width = 0 .Text.Caption = "0%". Vis vbModeless End med
Bemærk: "UFProgressBar" er navnet på brugerformularen, og "Bar" er navnet på den ramme, vi har oprettet, og "Text" er navnet på etiketten inde i rammen.

Nu, hvis du kører denne kode manuelt eller gennem F5-tasten, skal vi se statuslinjen som denne.

Trin 14: Nu skal vi oprette en makro for at udføre vores opgave. Jeg udfører opgaven med at indsætte serienumre fra 1 til 5000. Sammen med denne kode skal vi også konfigurere statuslinjediagrammet. Thew-koden er den skræddersyede kode til dig.

Kode:

Sub ProgressBar_Chart () Dim i så lang dæmp Strøm UFProgressBar Som dobbelt dim UFPgressBar Procentdel som dobbelt dæmpet barBredde så lang i = 1 Opkald InitUFProgressBarBar Gør mens jeg <= 5500 Celler (i, 1) .Værdi = i CurrentUFProgressBar = i / 2500 BarWidth = UFProgrBar. Border.Width * CurrentUFProgressBar UFProgressBarPercentage = Round (CurrentUFProgressBar * 100, 0) UFProgressBar.Bar.Width = BarWidth UFProgressBar.Text.Caption = UFProgressBarPercentage & "% Complete" DoEvents i = i + 1 Loop

Interessante artikler...