VBA-edistymispalkki - Luo edistymispalkkikaavio VBA-koodilla

Excelin VBA-etenemispalkki Excelissä

Progress Bar on jotain, joka näyttää meille, kuinka suuri osa prosessista on tehty tai saatu päätökseen, kun suoritamme suuria koodisarjoja, joiden suorittamiseen tarvitaan enemmän aikaa, käytämme VBA: n edistymispalkkia näyttämään käyttäjälle prosessin tilan tai Jos sinulla on useita prosesseja yhdessä koodissa, käytämme edistymispalkkia osoittamaan, mikä prosessi on edennyt kuinka paljon.

Edistymispalkki näyttää suoritettujen tehtävien prosenttiosuuden, kun varsinainen tehtävä on käynnissä ruudun takana, koodin antamilla ohjeilla.

Kun VBA-koodin suorittaminen vie paljon aikaa, käyttäjän ahdistuneisuus on tietää, kuinka pian se voi päättyä. Oletuksena meidän on odotettava kokoaika tehtävän suorittamiseksi, mutta lisäämällä edistymispalkki, tutustumme VBA-koodin etenemiseen.

Lähes kaikissa tietokoneohjelmissa näemme edistymispalkkikaavion, joka näyttää suoritettavan tehtävän etenemisen aivan kuten alla oleva kuva.

Excelissä voimme luoda edistymispalkin käyttämällä VBA-koodausta. Jos olet koskaan miettinyt, kuinka voimme luoda edistymispalkin, tämä on sinulle räätälöity artikkeli.

Luo oma edistymispalkki

Edistymispalkin luomiseksi meidän on noudatettava useita vaiheita. Alla on vaiheet, jotka on sisällytettävä edistymispalkkikaavion luomiseen.

Vaihe 1: Luo tai lisää uusi käyttäjälomake.

Heti kun napsautat yllä olevaa vaihtoehtoa, näet alla olevan kaltaisen käyttäjälomakkeen.

Vaihe 2: Paina F4- näppäintä nähdäksesi VBA-ominaisuudet-ikkunan.

Tässä ominaisuusvälilehdessä meidän on muutettava lisäämämme VBA Userform -ominaisuudet.

Vaihe 3: Vaihda käyttäjän lomakkeen nimeksi UFProgressBar.

Nyt voimme viitata tähän käyttäjälomakkeeseen nimellä "UFProgressBar" koodaamisen aikana.

Vaihe 4: Vaihda käyttäjälomakkeen Näytä malli -ominaisuus arvoksi EPÄTOSI.

Vaihe 5: Säädä käyttäjän suuntaus tarpeidesi mukaan. Olen muuttanut käyttäjälomakkeen korkeudeksi 120 ja leveydeksi 300.

Vaihe 6: Vaihda käyttäjälomakkeen kuvatekstiksi tilan etenemispalkki.

Vaihe 7: Lisää nyt LABEL käyttäjän lomakkeen työkaluruudusta yläosassa olevaan käyttäjälomakkeeseen.

Tällä tarralla meidän on määritettävä tarran ominaisuudet. Poista tekstitys ja tee se tyhjäksi ja säädä tarran leveyttä.

Vaihe 8: Vaihda tarran nimeksi ProgessLabel.

Vaihe 9: Ota nyt työkaluruudusta kehys ja piirrä edellisissä vaiheissa lisäämämme tarran alle. Varmista, että kehys on käyttäjälomakkeen keskellä.

Vaihe 10: Nyt meidän on muutettava joitain kehyksen ominaisuuksia, jotta se näyttää täsmälleen samalta kuin lisäämäsi käyttäjälomake.

Ominaisuus 1: Vaihda kehyksen nimeksi "ProgressFrame".

Ominaisuus 2: Poista tekstitys ja tee se tyhjäksi.

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.

Ok, nyt olemme suorittaneet etenemispalkin asettamisen, ja tässä vaiheessa se näyttää tältä.

Nyt meidän on annettava koodit, jotta tämä toimisi täydellisesti.

Vaihe 13: Jotta kehys lisätään alla oleva makro Excelissä.

Koodi:

Sub InitUFProgressBarBar () Kanssa UFProgressBar .Bar.Width = 0 .Text.Caption = "0%". Näytä vbModeless End With
Huomaa: ”UFProgressBar” on käyttäjän lomakkeelle annettu nimi ja “Bar” on luomalle kehykselle annettu nimi ja “Text” on kehyksen sisällä olevalle tarralle annettu nimi.

Jos suoritat tämän koodin manuaalisesti tai F5-avaimen kautta, meidän pitäisi nähdä tällainen edistymispalkki.

Vaihe 14: Meidän on nyt luotava makro tehtävämme suorittamiseksi. Suoritan tehtävää lisätä sarjanumerot 1: stä 5000: een. Tämän koodin ohella meidän on määritettävä myös edistymispalkkikaavio. Thew-koodi on räätälöity koodi sinulle.

Koodi:

Sub ProgressBar_Chart () Hämärä niin pitkä himmennysvirtaUFProgressBar kuin kaksinkertainen himmennys UFProgressBarPercentage Tuplahimmennyksen palkkileveys niin pitkä i = 1 puhelu InitUFProgressBarBar Do Vaikka i <= 5500 solua (i, 1). Arvo = i CurrentUFProgressBar = i / 2500 barWar = U. Border.Width * CurrentUFProgressBar UFProgressBarPercentage = Round (CurrentUFProgressBar * 100, 0) UFProgressBar.Bar.Width = BarWidth UFProgressBar.Text.Caption = UFProgressBarPercentage & "% Complete" DoEvogr i = i + 1

Mielenkiintoisia artikkeleita...