VBA edenemisriba | Looge VBA-koodi abil edenemisriba diagramm

Exceli VBA edenemisriba

Edenemisriba on midagi, mis näitab meile, kui suur osa protsessist on tehtud või lõpetatud, kui käivitame suured koodikomplektid, mille täitmiseks on vaja rohkem aega. Kasutame VBA-s edenemisriba, et näidata kasutajale protsessi olekut või kui Kui ühes koodis töötab mitu protsessi, kasutame edenemisriba, et näidata, milline protsess on edenenud.

Edenemisriba näitab täidetud ülesannete protsenti, kui ekraanil taga kulgeb tegelik ülesanne koos koodi antud juhistega.

Kui VBA-koodi täitmiseks kulub märkimisväärselt palju aega, on kasutaja ärevus teada saada, kui kiiresti see saab lõpule viia. Vaikimisi peame ülesande täitmiseks ootama täisajaga, kuid edenemisriba sisestades õpime tundma VBA-koodi edenemist.

Peaaegu kogu arvutitarkvaras näeme edenemisriba diagrammi, mis näitab täidetava ülesande edenemist täpselt nagu allpool olev pilt.

Excelis saame luua edenemisriba, kasutades VBA kodeerimist. Kui olete kunagi mõelnud, kuidas saaksime edenemisriba luua, siis see on teie jaoks kohandatud artikkel.

Selle VBA edenemisriba malli saate alla laadida siit - VBA edenemisriba mall

Looge omaenda edenemisriba

Edenemisriba loomiseks peame järgima mitut sammu. Allpool on sammud, mida kaasata edenemisribade diagrammi loomisel.

1. samm: looge või sisestage uus kasutajavorm.

Niipea kui klõpsate ülaltoodud suvandil, näete allolevat kasutajavormi.

2. samm: VBA atribuutide akna kuvamiseks vajutage klahvi F4 .

Sellel vahekaardil Atribuudid peame muutma sisestatud VBA kasutajavormi omadusi.

3. samm: muutke kasutajavormi nimeks UFProgressBar.

Nüüd saame sellele kasutajavormile kodeerimise ajal viidata nimega “UFProgressBar”.

4. samm: muutke kasutaja vormi atribuudi Näita mudelit väärtuseks FALSE.

5. samm: nüüd reguleerige kasutaja joondust oma vajadustele vastavaks. Olen muutnud kasutaja vormi kõrguseks 120 ja laiuseks 300.

6. samm: muutke kasutajavormi pealdis olekuks „Progress Status Bar”.

7. samm: sisestage nüüd kasutajavormi tööriistakastist ülaservas olevale kasutajavormile LABEL.

Selle sildiga peame määrama sildi omadused. Kustutage pealdis, tehke see tühjaks ja reguleerige sildi laiust.

8. samm: muutke sildi nimeks ProgessLabel.

9. samm: võtke nüüd tööriistakastist raam ja joonistage eelmistes toimingutes sisestatud sildi alla. Veenduge, et raam oleks kasutajavormi keskel.

10. samm: Nüüd peame muutma kaadri mõningaid omadusi, et see näeks välja täpselt samasugune nagu sisestatud kasutajavorm.

1. omadus: muutke raami nimeks „ProgressFrame”.

Atribuut 2: kustutage pealkiri ja tehke see tühjaks.

3. omadus: muutke raami eriefekt väärtuseks 6 - fmSpecialEffectBump.

Pärast kõiki neid muudatusi peaks meie kasutajavorm välja nägema selline.

11. samm: sisestage nüüd veel üks silt. Seekord sisestage silt just meie sisestatud raami sisse.

Sildi sisestamise ajal veenduge, et sildi vasak pool sobib täpselt meie lisatud raamiga, nagu on näidatud ülaltoodud pildil.

12. samm: pärast sildi sisestamist muutke sildi omadusi järgmiselt.

1. omadus: muutke sildi nimeks „MainProgressLabel”.

2. omadus: kustutage pealkiri.

3. omadus: muutke taustavärvi vastavalt oma soovile.

Ok, nüüd oleme edenemisriba seadistamise lõpetanud ja praegusel hetkel näeb see välja selline.

Nüüd peame selle täiuslikuks toimimiseks sisestama koodid.

13. samm: raamistiku lisamiseks lisage Excelis allpool toodud makro.

Kood:

 Sub InitUFProgressBarBar () koos UFProgressBar .Bar.Width = 0 .Text.Caption = "0%". Näita vbModeless End With 

Märkus: „UFProgressBar” on kasutajavormile antud nimi ja „Baar” on meie loodud raamile antud nimi ning „Text” on raami sees olevale sildile antud nimi.

Kui käivitate selle koodi käsitsi või läbi klahvi F5, peaksime nägema sellist edenemisriba.

14. samm: nüüd peame oma ülesande täitmiseks looma makro. Ma täidan ülesannet sisestada seerianumbrid vahemikus 1 kuni 5000. Koos selle koodiga peame konfigureerima ka edenemisribade diagrammi, allpool on kood teie jaoks kohandatud kood.

Kood:

 Sub ProgressBar_Chart () Dim i nii pika hämardusega CurrentUFProgressBar As Double Dim UFProgressBarPercentage As Double Dim BarWidth As Long i = 1 Call InitUFProgressBarBar Do While i <= 5500 Cells (i, 1). Väärtus = i CurrentUFProgressBar = i / 2500 BarWar = U. Border.Width * CurrentUFProgressBar UFProgressBarPercentage = Round (CurrentUFProgressBar * 100, 0) UFProgressBar.Bar.Width = Ribalaius UFProgressBar.Text.Caption = UFProgressBarPercentage & "% Complete" DoEvogr i = i + 1 


$config[zx-auto] not found$config[zx-overlay] not found