/ / Progresa rādītājs programmā Excel VBA

Progresa rādītājs programmā Excel VBA

Tālāk mēs apskatīsim programmu programmā Excel VBA kas rada progresa rādītājs. Mēs esam saglabājuši progresa rādītāju pēc iespējas vienkāršāk, tomēr tas izskatās profesionāli. Vai esat gatavi?

Lietotāja forma, kuru mēs veidosim, izskatās šādi:

Progresa rādītājs programmā Excel VBA

Lai izveidotu šo Userform, izpildiet šādas darbības.

1. Atveriet Visual Basic Editor. Ja Project Explorer nav redzams, noklikšķiniet uz Skatīt, Project Explorer.

2. Noklikšķiniet uz Ielikt, Lietotāja forma. Ja rīkjosla neparādās automātiski, noklikšķiniet uz Skatīt, rīkjoslu. Jūsu ekrāns ir jāiestata tā, kā parādīts zemāk.

Userform ekrāna iestatīšana programmā Excel VBA

Šī Lietotāja forma sastāv tikai no trim vadības ierīcēm. Rāmis un divi etiķetes vadīklas.

3. Pievienojiet rāmja vadību. To var izdarīt, noklikšķinot uz Rāmis no rīkjoslas. Tālāk jūs varat velciet rāmja vadību uz Userform. Jums ir jāmaina dažas šī rāmja kontroles īpašības. Ar peles labo pogu noklikšķiniet uz rāmja vadības paneļa un pēc tam noklikšķiniet uz Properties (Rekvizīti). Iztukšojiet paraksta lauku, uzstādiet Augstumu līdz 24 un platumu līdz 204.

4 Pievienojiet pirmo etiķetes vadību un novietojiet to Frame vadības panelī. Ar labo peles pogu noklikšķiniet uz etiķetes vadības paneļa un pēc tam noklikšķiniet uz Properties (Rekvizīti). Mainiet vārdu uz Bar, BackColor, lai izceltu, iztukšojiet lauku Caption, uzstādiet augstumu līdz 20 un platumu līdz 10.

5 Pievienojiet otro etiķetes vadību un novietojiet to virs Frame vadības paneļa. Ar labo peles pogu noklikšķiniet uz etiķetes vadības paneļa un pēc tam noklikšķiniet uz Properties (Rekvizīti). Mainiet nosaukumu uz Tekstu un nomainiet parakstu uz "0% pabeigts".

6. Mainiet Userform parakstu uz Progresa rādītāju.

Kad tas ir pabeigts, rezultātam jāatbilst iepriekš redzamā lietotāja formas attēlam.

7. Ievietojiet komandas pogu savā darblapā un pievienojiet šādu koda rindiņu, lai parādītu Userform:

Private Sub CommandButton1_Click()

UserForm1.Show

End Sub

Ja esat izgājis pārējo UserformŠajā vietnē ir piemēri, jūs zināt, ka ir pienācis laiks izveidot Sub UserForm_Initialize. Šis Apakšdaļa tiek automātiski ievadīta ikreiz, kad tiek ielādēta Userform. Tādējādi, kad jūs izmantojat Showform metodi Userform, kods tiks automātiski izpildīts. Vietas Sub UserForm_Initialize mēs izveidojam Sub UserForm_Activate. Izmantojot šo apakšprogrammu, Excel VBA var atjaunināt Userform, lai parādītu makro progresu.

8. Atveriet Visual Basic Editor.

9. Projektu programmā labo pogu noklikšķiniet uz UserForm1 un pēc tam noklikšķiniet uz Skatīt kodu.

10. Izvēlieties Userform no kreisā nolaižamā saraksta. Labajā nolaižamajā sarakstā izvēlieties Aktivizēt.

11. Pievienojiet šādu koda rindiņu:

Private Sub UserForm_Activate()

code

End Sub

Paskaidrojums: šis pakalpojums piezvanīs vēl kādam apakšnosauktam kodam, ko mēs izveidosim minūtē. Apjucis? Lai uzzinātu vairāk par sadaļu, varat iziet sadaļu "Funkcija" un "Apakšnodaļa". Ja jums ir steiga, vienkārši izpildiet šādas darbības, un jums būs labi.

12 Novietojiet zem nosaukto kodu modulim (redaktorā Visual Basic noklikšķiniet uz Ievietot, modulis). Šis ir tikai piemērs. Šī ir vieta, kur pievienot savu kodu, ja vēlaties izmantot šo progresa rādītāju savam makro. Kods izskatās šādi.

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

Paskaidrojums: vispirms mēs inicializējam dažus mainīgos. Tālāk mēs notīra lapu1. Mēs izmantojam dubultu cilni, lai pirmajās 100 darblapas rindās parādītu vērtības no 1 līdz 1000. Tas turpinās Excel VBA aizņemšanos, un dod mums iespēju redzēt makro progresu. Mainīgais pctCompl (saīsinājums procentos, kas ir pabeigts) nosaka makro progresu. Visbeidzot, mēs izsaukam vēl vienu apakšgrupas nosaukumu progresu un nododam mainīgo pctCompl vērtību, lai atjauninātu Userform. Tādā veidā mēs varam redzēt makro progresu!

13. Pievienot vēl citus aprakstītos sasniegumus. Kods izskatās šādi:

Sub progress(pctCompl As Single)

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

DoEvents

End Sub

Paskaidrojums: pirmā koda rindiņa maina pirmās etiķetes vadības nosaukumu. Otrajā koda rindā mainās otrās etiķetes vadīklas platums. Pievienojiet DoEvents, lai atjauninātu Userform.

14. Izejiet no Visual Basic Editor un noklikšķiniet uz lapas komandas pogas:

Rezultāts:

Progresa rādītājs rezultāts

Piezīme: šim makroam mēs izmantojām mainīgo i, lai novērtētu progresu. Piemēram, 11. rindā 10% ir pabeigta. Tas jūsu makro var atšķirties. Metode mainīt vērtību pctCompl uz apakšprogrammu, lai atjauninātu Userform, paliek nemainīga.

Lasīt arī: