Ukazovateľ priebehu programu Excel VBA v programe Excel
Progress Bar je niečo, čo nám ukazuje, koľko z procesu bolo hotových alebo dokončených, keď spustíme veľké množiny kódov, ktorých vykonanie si vyžaduje dlhší čas. Na zobrazenie stavu procesu použijeme vo VBA indikátor priebehu vo VBA ak máme v jednom kóde spustených viac procesov, pomocou ukazovateľa priebehu ukážeme, ktorý proces o koľko pokročil.
Ukazovateľ priebehu zobrazuje percento dokončených úloh, keď je aktuálna úloha spustená za obrazovkou, so sadou pokynov daných kódom.
Ak sa vykonanie kódu VBA vyžaduje značné množstvo času, používateľom je veľmi náročné vedieť, ako skoro sa dá dokončiť. Štandardne si musíme na dokončenie úlohy počkať na plný úväzok, ale vložením ukazovateľa priebehu spoznáme priebeh kódu VBA.
Takmer vo všetkom počítačovom softvéri vidíme stĺpcový graf priebehu, ktorý zobrazuje priebeh úlohy, ktorú vykonávame, rovnako ako na nasledujúcom obrázku.

V programe Excel môžeme vytvoriť indikátor priebehu pomocou kódovania VBA. Ak ste niekedy premýšľali, ako môžeme vytvoriť ukazovateľ pokroku, potom je to článok šitý na mieru pre vás.
Vytvorte si svoj vlastný indikátor priebehu
Aby sme vytvorili indikátor priebehu, musíme postupovať podľa niekoľkých krokov. Ďalej sú uvedené kroky, ktoré je potrebné zapojiť do vytvárania stĺpcového grafu priebehu.
Krok 1: Vytvorte alebo vložte nový formulár používateľa.

Hneď ako kliknete na vyššie uvedenú možnosť, uvidíte formulár používateľa, ako je uvedený nižšie.

Krok 2: Stlačením klávesu F4 zobrazte okno vlastností VBA.

Na tejto karte vlastností musíme zmeniť vlastnosti VBA Userform, ktorý sme vložili.
Krok 3: Zmeňte názov používateľského formulára na UFProgressBar.

Teraz môžeme tento užívateľský formulár pri kódovaní označiť názvom „UFProgressBar“.
Krok 4: Zmeňte vlastnosť Zobraziť model formulára používateľa na FALSE.

Krok 5: Teraz upravte zarovnanie používateľa tak, aby vyhovovalo vašim potrebám. Zmenil som výšku používateľského formulára na 120 a šírku na 300.


Krok 6: Zmeňte nadpis používateľského formulára na „Stavový riadok postupu“.

Krok 7: Teraz z panela s nástrojmi formulára používateľa vložte štítok do formulára používateľa v hornej časti.

S týmto štítkom musíme nastaviť vlastnosti štítku. Odstráňte popis, nechajte ho prázdny a upravte šírku štítka.


Krok 8: Zmeňte názov štítku na „ProgessLabel“.

Krok 9: Teraz z panela nástrojov vezmite rám a nakreslite tesne pod štítok, ktorý sme vložili v predchádzajúcich krokoch. Uistite sa, že rám je v strede formulára používateľa.

Krok 10: Teraz musíme zmeniť niektoré vlastnosti rámu, aby vyzeral úplne rovnako ako používateľský formulár, ktorý sme vložili.
Vlastnosť 1: Zmeňte názov rámca na „ProgressFrame“.

Vlastnosť 2: Odstráňte popis a nechajte ho prázdny.

Vlastnosť 3: Zmeňte špeciálny efekt rámu na 6 - fmSpecialEffectBump.

Po všetkých týchto zmenách by náš formulár používateľa mal vyzerať takto.

Krok 11: Teraz vložte ešte jeden štítok. Tentokrát vložte štítok priamo do rámu, ktorý sme vložili.

Počas vkladania štítku sa uistite, že ľavá strana štítku presne zapadá do rámu, ktorý sme vložili, ako je to znázornené na obrázku vyššie.
Krok 12: Po vložení štítka zmeňte vlastnosti štítku nasledovne.
Vlastnosť 1: Zmeňte názov štítku na „MainProgressLabel“.

Majetok 2: Odstrániť popis.

Majetok 3: Zmeňte farbu pozadia podľa vášho želania.

Dobre, teraz sme skončili s procesom nastavenia indikátora priebehu. Momentálne to vyzerá takto.

Teraz musíme zadať kódy, aby to dokonale fungovalo.
Krok 13: Ak chcete, aby rámec pridal nasledujúce makro do programu Excel.
Kód:
Sub InitUFProgressBarBar () s UFProgressBar .Bar.Width = 0 .Text.Caption = "0%". Zobraziť vbModeless Koniec s

Teraz, ak tento kód spustíte manuálne alebo pomocou klávesu F5, mal by sa nám zobraziť takto zobrazený indikátor priebehu.

Krok 14: Teraz musíme na vykonanie našej úlohy vytvoriť makro. Vykonávam úlohu vkladania sériových čísel od 1 do 5 000. Spolu s týmto kódom musíme nakonfigurovať aj postupový stĺpcový graf,. Thew code je kód šitý na mieru pre vás.
Kód:
Sub ProgressBar_Chart () Dim i As Long Dim CurrentUFProgressBar As Double Dim UFProgressBarPercentage As Double Dim BarWidth So Long i = 1 Call InitUFProgressBarBar Do While i <= 5500 Cells (i, 1). Value = i CurrentUFProgressBar = i / 2500 BarWidth = UFProgressBar = Border.Width * CurrentUFProgressBar UFProgressBarPercentage = Round (CurrentUFProgressBar * 100, 0) UFProgressBar.Bar.Width = BarWidth UFProgressBar.Text.Caption = UFProgressBarPercentage & "% Complete" DoEvents i = i + 1 Loop
