VBA pažangos baras Sukurkite progreso juostos diagramą naudodami VBA kodą

„Excel VBA“ progreso juosta „Excel“

„Progress Bar“ yra tai, kas mums parodo, kiek proceso buvo atlikta ar baigta, kai vykdome didelius kodų rinkinius, kuriems vykdyti reikia daugiau laiko, mes naudojame VBA eigos juostą, norėdami parodyti vartotojui apie proceso būseną arba turėti kelis procesus, veikiančius viename kode, mes naudojame eigos juostą, kad parodytume, kuris procesas kiek progresavo.

Eigos juosta rodo atliktų užduočių procentą, kai tikroji užduotis vykdoma už ekrano, nurodant kodo pateiktas instrukcijas.

Kai VBA kodui vykdyti reikia daug laiko, vartotojo nerimas yra žinoti, kaip greitai jis gali būti baigtas. Pagal numatytuosius nustatymus turime laukti viso laiko, kol atliksime užduotį, tačiau įterpdami eigos juostą, mes sužinome VBA kodo eigą.

Beveik visoje kompiuterio programinėje įrangoje matome eigos juostos diagramą, kurioje rodoma atliekamos užduoties eiga, kaip ir toliau pateiktame paveikslėlyje.

„Excel“ programoje galime sukurti „Progress Bar“ naudodami VBA kodavimą. Jei kada pagalvojote, kaip mes galime sukurti eigos juostą, tai jums pritaikytas straipsnis.

Sukurkite savo pažangos juostą

Norėdami sukurti eigos juostą, turime atlikti kelis veiksmus. Toliau pateikiami veiksmai, kuriuos reikia įtraukti kuriant eigos juostos diagramą.

1 veiksmas: sukurkite arba įdėkite naują vartotojo formą.

Kai tik spustelėsite aukščiau pateiktą parinktį, pamatysite tokią vartotojo formą kaip toliau.

2 žingsnis: Paspauskite klavišą F4, kad pamatytumėte VBA ypatybių langą.

Šiame savybių skirtuke turime pakeisti įterptos „VBA Userform“ ypatybes.

3 žingsnis: Pakeiskite vartotojo formos pavadinimą į „UFProgressBar“.

Dabar koduodami galime nurodyti šią vartotojo formą pavadinimu „UFProgressBar“.

4 žingsnis: Pakeiskite vartotojo formos „Show Model“ ypatybę į FALSE.

5 žingsnis: Dabar pritaikykite vartotojo išlygiavimą, kad jis atitiktų jūsų poreikius. Vartotojo formos aukštį pakeičiau į 120, o plotį - į 300.

6 žingsnis: Pakeiskite vartotojo formos antraštę į „Eigos būsenos juosta“.

7 žingsnis: Dabar iš vartotojo formos įrankių dėžutės į viršų esančioje vartotojo formoje įterpkite LABEL.

Naudodami šią etiketę turime nustatyti etiketės savybes. Ištrinkite antraštę, palikite ją tuščią, ir sureguliuokite etiketės plotį.

8 veiksmas: pakeiskite etiketės pavadinimą į „ProgessLabel“.

9 žingsnis: Dabar iš įrankių dėžutės paimkite rėmelį ir pieškite tiesiai po etikete, kurią įterpėme ankstesniuose žingsniuose. Įsitikinkite, kad rėmelis yra vartotojo formos centre.

10 žingsnis: Dabar turime pakeisti kai kurias rėmelio savybes, kad jis atrodytų visiškai toks pat, kaip ir mūsų įterpta vartotojo forma.

1 ypatybė: pakeiskite rėmelio pavadinimą į „ProgressFrame“.

2 ypatybė : ištrinkite antraštę ir palikite ją tuščią.

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.

Gerai, dabar mes baigėme eigos juostos nustatymo procesą, ir šiuo metu tai atrodo taip.

Dabar turime įvesti kodus, kad tai puikiai veiktų.

13 žingsnis: Kad sistema pridėtų toliau pateiktą makrokomandą „Excel“.

Kodas:

Sub InitUFProgressBarBar () With UFProgressBar .Bar.Width = 0 .Text.Caption = "0%". Rodyti vbModeless End With
Pastaba: „UFProgressBar“ yra Vartotojo formai suteiktas vardas, o „Juosta“ - vardas, suteiktas mūsų sukurtam rėmeliui, o „Tekstas“ - vardas, suteiktas etiketėje Rėmelio viduje.

Dabar, jei paleidžiate šį kodą rankiniu būdu arba naudodami klavišą F5, turėtume pamatyti tokią eigos juostą.

14 žingsnis: Dabar, norėdami atlikti savo užduotį, turime sukurti makrokomandą. Atlieku užduotį įterpti serijos numerius nuo 1 iki 5000. Kartu su šiuo kodu turime sukonfigūruoti ir eigos juostos diagramą. „Thew“ kodas yra jums pritaikytas kodas.

Kodas:

Sub ProgressBar_Chart () Dim i As Long Dim CurrentUFProgressBar As Double Dim UFProgressBarPercentage As Double Dim BarWidth As Long i = 1 Call InitUFProgressBarBar Do Nors i <= 5500 langelių (i, 1). Vertė = i CurrentUFProgressBar = i / 2500 barwar = U. Border.Width * CurrentUFProgressBar UFProgressBarPercentage = Round (CurrentUFProgressBar * 100, 0) UFProgressBar.Bar.Width = BarWidth UFProgressBar.Text.Caption = UFProgressBarPercentage & "Complete Complete" DoEvogr i = i + 1

Įdomios straipsniai...