Лента за напредък на VBA - Създайте лентова диаграма за напредъка, като използвате VBA код

Лента за напредък на Excel VBA в Excel

Лентата на напредъка е нещо, което ни показва колко от процеса е свършен или завършен, когато изпълняваме големи набори от кодове, които изискват по-голямо време за изпълнение, използваме лентата за напредък във VBA, за да покажем на потребителя за състоянието на процеса или има множество процеси, работещи в един код, ние използваме лентата за напредък, за да покажем кой процес е напреднал до каква степен.

Лентата за напредъка показва процента на изпълнените задачи, когато действителната задача се изпълнява зад екрана с набор от инструкции, дадени от кода.

Когато изпълнението на кода на VBA отнема значително време, притеснението на потребителя е да знае колко скоро може да завърши. По подразбиране трябва да изчакаме цялото време, за да изпълним задачата, но като вмъкнем лентата за напредъка, ние опознаваме напредъка на кода на VBA.

В почти целия компютърен софтуер виждаме хоризонтална диаграма, която показва напредъка на задачата, която изпълняваме, точно както изображението по-долу.

В excel to можем да създадем лента за напредък, като използваме VBA кодиране. Ако някога сте се чудили как можем да създадем лента за напредъка, това е статията, създадена специално за вас.

Създайте своя собствена лента за напредъка

За да създадем лента за напредъка, трябва да следваме няколко стъпки. По-долу са описани стъпките, които трябва да бъдат включени при създаването на лентовата диаграма на напредъка.

Стъпка 1: Създайте или вмъкнете нов потребителски формуляр.

Веднага след като щракнете върху опцията по-горе, ще видите потребителска форма като долната.

Стъпка 2: Натиснете клавиша F4, за да видите прозореца на свойствата на VBA.

В този раздел за свойства трябва да променим свойствата на VBA Userform, който сме вмъкнали.

Стъпка 3: Променете името на потребителския формуляр на UFProgressBar.

Сега можем да препращаме тази потребителска форма с името „UFProgressBar“, докато кодираме.

Стъпка 4: Променете свойството Show Model Property на потребителския формуляр на FALSE.

Стъпка 5: Сега коригирайте подравняването на потребителя според вашите нужди. Промених височината на потребителския формуляр на 120 и ширината на 300.

Стъпка 6: Променете надписа на потребителския формуляр на „Прогрес лента на състоянието“.

Стъпка 7: Сега, от кутията с инструменти на потребителския формуляр, поставете LABEL в потребителската форма в горната част.

С този етикет трябва да зададем свойствата на етикета. Изтрийте надписа и го направете празен и коригирайте ширината на етикета.

Стъпка 8: Променете името на етикета на „ProgessLabel“.

Стъпка 9: Сега, от кутията с инструменти, вземете рамката и нарисувайте точно под етикета, който сме поставили в предишните стъпки. Уверете се, че рамката е в центъра на потребителската форма.

Стъпка 10: Сега трябва да променим някои от свойствата на Frame, за да изглежда то точно същото като потребителската форма, която сме вмъкнали.

Свойство 1: Променете името на кадъра на „ProgressFrame“.

Свойство 2: Изтрийте надписа и го направете празен.

Свойство 3: Променете специалния ефект на рамката на 6 - fmSpecialEffectBump.

След всички тези промени потребителският ни формуляр трябва да изглежда така.

Стъпка 11: Сега поставете още един етикет. Този път поставете етикета точно в рамката, която сме поставили.

Докато поставяте етикета, уверете се, че лявата страна на етикета точно отговаря на рамката, която сме поставили, както е показано на горното изображение.

Стъпка 12: След поставяне на етикета променете свойствата на етикета, както следва.

Свойство 1: Променете името на етикета на „MainProgressLabel.“

Свойство 2: Изтрийте надписа.

Свойство 3: Променете цвета на фона според вашето желание.

Добре, сега приключихме с процеса на настройка на лентата за напредък и в този момент от време тя изглежда така.

Сега трябва да въведем кодове, за да работи това перфектно.

Стъпка 13: За да направите рамката, добавете долния макрос в Excel.

Код:

Sub InitUFProgressBarBar () С UFProgressBar .Bar.Width = 0 .Text.Caption = "0%". Показване на vbModeless Край с
Забележка: „UFProgressBar“ е името, дадено на потребителския формуляр, а „Bar“ е името, дадено на рамката, която сме създали, а „Text“ е името, дадено на етикета вътре в рамката.

Сега, ако стартирате този код ръчно или чрез клавиша F5, трябва да видим лентата за напредък като тази.

Стъпка 14: Сега трябва да създадем макрос, за да изпълним нашата задача. Изпълнявам задачата за вмъкване на серийни номера от 1 до 5000. Заедно с този код, трябва да конфигурираме и диаграмата на хода,. Thew кодът е специален код за вас.

Код:

Sub ProgressBar_Chart () Dim i As Long Dim CurrentUFProgressBar As Double Dim UFProgressBarPercentage As Double Dim BarWidth As Long i = 1 Call InitUFProgressBarBar Do While i <= 5500 Cells (i, 1) .Value = i CurrentUFProgressBar = i / 2500FPPWardar = i / 2500FPP Border.Width * CurrentUFProgressBar UFProgressBarPercentage = Round (CurrentUFProgressBar * 100, 0) UFProgressBar.Bar.Width = BarWidth UFProgressBar.Text.Caption = UFProgressBarPercentage & "% Complete" DoEPop IverBarFePopPressPressParcenterBarPercentage & "% Complete" DoEPop IverBarPerPressPressPress

Интересни статии...