VBA edenemisriba - Looge VBA koodi abil edenemisriba diagramm

Lang L: none (table-of-contents)

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 protsessis töötab mitu protsessi, kasutame edenemisriba, et näidata, milline protsess on palju edasi arenenud.

Edenemisriba näitab täidetud ülesannete protsenti, kui tegelik ülesanne töötab ekraani taga 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.

Looge omaenda edenemisriba

Edenemisriba loomiseks peame järgima mitut sammu. Allpool on toodud 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 omaduste 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 kohandage kasutaja joondust vastavalt oma vajadustele. Olen muutnud kasutaja vormi kõrguseks 120 ja laiuseks 300.

6. samm: muutke kasutaja vormi pealdise olekuks „Progress Status Bar”.

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

Selle sildiga peame määrama sildi omadused. Kustutage pealdis ja muutke see tühjaks ning 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.

Atribuut 1: 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 sisestatud raamiga, nagu ülaltoodud pildil näidatud.

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

Atribuut 1: 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 „Tekst” on raami sees olevale sildile antud nimi.

Nüüd, kui käivitate selle koodi käsitsi või klahvi F5 kaudu, 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. Thew-kood on 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

Huvitavad Artiklid...