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 juostoje rodoma atliktų užduočių procentinė dalis, kai už ekrano eina tikroji užduotis, su kodu pateiktų instrukcijų rinkiniu.

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

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.

Šį VBA pažangos juostos šabloną galite atsisiųsti čia - VBA pažangos juostos šablonas

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 žemiau.

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

Šiame savybių skirtuke turime pakeisti įterptos VBA vartotojo formos 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 lygiuotę pagal savo 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 įterpkite LABEL į vartotojo formą viršuje.

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ą.

3 ypatybė : pakeiskite rėmelio specialųjį efektą į 6 - fmSpecialEffectBump.

Po visų šių pakeitimų mūsų vartotojo forma turėtų atrodyti taip.

11 žingsnis: Dabar įdėkite dar vieną etiketę. Šį kartą įklijuokite etiketę tiesiai į rėmą, kurį įdėjome.

Įdėdami etiketę įsitikinkite, kad kairė etiketės pusė tiksliai atitinka rėmą, kurį įdėjome, kaip parodyta aukščiau esančiame paveikslėlyje.

12 žingsnis: Įterpę etiketę, pakeiskite etiketės savybes taip.

1 ypatybė : pakeiskite etiketės pavadinimą į „MainProgressLabel“.

2 ypatybė : ištrinkite antraštę.

3 savybė: pakeiskite fono spalvą pagal savo norus.

Gerai, dabar mes baigėme nustatyti eigos juostą 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 „Bar“ - mūsų sukurtam rėmui suteiktas vardas, o „Tekstas“ - pavadinimas, suteiktas etiketėje rėmelyje.

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

14 žingsnis: Dabar turime sukurti makrokomandą, kad atliktume savo užduotį. Atlieku užduotį įterpti serijos numerius nuo 1 iki 5000. Kartu su šiuo kodu turime sukonfigūruoti ir eigos juostos diagramą. Žemiau pateiktas 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 


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