/ / "Progress" rodiklis "Excel VBA"

"Excel VBA" pažangos rodiklis

Žemiau apžvelgsime programą Excel VBA tai sukuria pažangos rodiklis. Mes išlaikėme pažangos rodiklį kaip įmanoma paprasčiau, tačiau jis atrodo profesionalus. Ar esate pasirengęs?

"Userform", kurį ketiname kurti, atrodo taip:

"Excel VBA" pažangos rodiklis

Norėdami sukurti šį Userform, atlikite šiuos veiksmus.

1. Atidarykite "Visual Basic" redaktorių. Jei "Project Explorer" nematoma, spustelėkite "View", "Project Explorer".

2. Spustelėkite Insert, Userform. Jei įrankių dėžė automatiškai pasirodys, spustelėkite Rodyti, įrankių dėžutę. Jūsų ekranas turėtų būti nustatytas žemiau.

"Userform" ekrano sąranka "Excel VBA"

Šią "Userform" sudaro tik trys valdikliai. Rėmo valdymas ir dvi etiketės valdymas.

3. Pridėkite rėmelio valdiklį. Tai galite padaryti spustelėję Rėmelį iš įrankių juostos. Tada galite vilkite rėmelio valdiklį į "Userform". Jums reikia keisti kai kurias šio rėmelio valdymo savybes. Dešiniu pelės klavišu spustelėkite rėmelio valdiklį, tada spustelėkite Ypatybės. Tuščia antraštės lauką, nustatykite aukštį iki 24 ir pločio iki 204.

4. Įtraukite pirmąjį etiketės valdiklį ir padėkite jį į "Frame" valdiklį. Dešiniu pelės klavišu spustelėkite etiketės valdiklį, tada spustelėkite Ypatybės. Pakeiskite pavadinimą į juostą, "BackColor", kad paryškintumėte, tuščią antraštės lauką, nustatykite aukštį iki 20 ir pločio iki 10.

5. Įtraukite antrą etiketės valdiklį ir padėkite ją virš "Frame" valdiklio. Dešiniu pelės klavišu spustelėkite etiketės valdiklį, tada spustelėkite Ypatybės. Pakeiskite pavadinimą į "Text" ir pakeiskite parašą "0% baigtas".

6. Pakeiskite "Userform" antraštę į "Progress Indicator".

Kai tai bus baigta, rezultatas turėtų atitikti anksčiau pateiktą "Userform" paveikslėlį.

7. Įdėkite komandų mygtuką į savo darbalapį ir pridėkite šią kodo eilutę, kad būtų rodoma "Userform":

Private Sub CommandButton1_Click()

UserForm1.Show

End Sub

Jei perėjote kitą "Userform" formąŠioje svetainėje pateikiami pavyzdžiai, jūs žinote, kad tai laikas sukurti Sub UserForm_Initialize. Šis paketas paleidžiamas automatiškai, kai įkeltas "Userform" formatas. Taigi, kai naudojate "Show" metodą "Userform", kodas automatiškai bus vykdomas. Vietoj Sub UserForm_Initialize sukursime Sub UserForm_Activate. Naudodamiesi šia dalimi, "Excel VBA" gali atnaujinti "Userform", kad būtų parodyta makroekonomikos pažanga.

8. Atidarykite "Visual Basic" redaktorių.

9. "Project Explorer" dešiniuoju pelės mygtuku spustelėkite "UserForm1", o tada spustelėkite "Peržiūrėti kodą".

10. Iš kairiojo sąrašo pasirinkite "Userform". Iš dešiniojo išskleidžiamojo sąrašo pasirinkite Aktyvuoti.

11. Įtraukite šią kodo eilutę:

Private Sub UserForm_Activate()

code

End Sub

Paaiškinimas: šis sub skambutis kitą pavadintą kodą, kurį ketiname kurti per minutę. Supainiotas? Galite pereiti per mūsų funkciją ir pogrupį, kad sužinotumėte daugiau apie sub. Jei skubate, tiesiog atlikite šiuos veiksmus, ir jums bus gerai.

12. Įdėkite minėtą kodą į modulį (redaktoriuje Visual Basic spustelėkite Įterpti, modulis). Tai tik pavyzdys. Tai vieta, kur norite pridėti savo kodą, kai norite naudoti šį makrokomandos pažangos rodiklį. Kodas atrodo taip.

Sub code()

Dim i As Integer, j As Integer, pctCompl As Single

Sheet1.Cells.Clear

For i = 1 To 100
    For j = 1 To 1000
        Cells(i, 1).Value = j
    Next j
    pctCompl = i
    progress pctCompl
Next i

End Sub

Paaiškinimas: pirmiausia, inicijuojame keletą kintamųjų. Tada mes išvalome lapą1. Mes naudojame dvigubą kilpą, kad pirmaisiais 100 darbalapio eilučių reikšmėmis būtų rodoma nuo 1 iki 1000. Tuo metu Excel VBA bus užimtas ir suteiks mums galimybę matyti makroekonomikos pažangą. Kintamasis pctCompl (sutrumpintas procentinis dydis) nustato makroekonomikos pažangą. Galiausiai, mes vadiname dar vieną pavadintą progresą ir perduoda kintamojo pctCompl reikšmę, kad atnaujintume "Userform". Tokiu būdu mes galime matyti makroekonomikos pažangą!

13. Pridėkite dar vieną minėtą pažangą. Kodas yra toks:

Sub progress(pctCompl As Single)

UserForm1.Text.Caption = pctCompl & "% Completed"
UserForm1.Bar.Width = pctCompl * 2

DoEvents

End Sub

Paaiškinimas: pirmoji kodo eilutė keičia pirmosios etiketės valdymo antraštę. Antroji kodo eilutė pakeičia antrosios etiketės valdymo juostos plotį. Pridėkite "DoEvents", kad atnaujintumėte "Userform".

14. Išeikite iš redaktoriaus Visual Basic ir spustelėkite mygtuką komandą:

Rezultatas:

Pažangos rodiklio rezultatas

Pastaba: Šiai makrokomandai mes panaudojome kintamąjį i, norėdami įvertinti pažangą. Pavyzdžiui, 11 eilutėje 10% yra baigtas. Tai gali skirtis jūsų makrokomandai. Kintamos pctCompl reikšmės perdavimas į pogrupį, skirtą atnaujinti "Userform", išlieka tas pats.

Taip pat perskaitykite: