Индикатор это то, что показывает нам, какая часть процесса была выполнена или завершена, когда мы запускаем большие наборы кодов, для выполнения которых требуется больше времени, мы используем индикатор выполнения в VBA, чтобы показать пользователю статус процесса, или если у нас есть несколько процессы, работающие в одном коде, мы используем индикатор выполнения, чтобы показать, какой процесс продвинулся, насколько.
Индикатор выполнения показывает процент выполненных задач, когда фактическая задача выполняется за экраном с набором инструкций, заданных кодом.
Когда выполнение кода VBA занимает много времени, пользователь беспокоится о том, как скоро он завершится. По умолчанию нам нужно ждать полного времени, чтобы выполнить задачу, но вставив индикатор выполнения, мы узнаем ход выполнения задачи. код VBAКод VBAКод VBA относится к набору инструкций, написанных пользователем на языке программирования приложений Visual Basic в редакторе Visual Basic (VBE) для выполнения определенной задачи.читать далее.
Почти во всех компьютерных программах мы видим гистограмму выполнения, которая показывает ход выполнения задачи, которую мы выполняем, как на изображении ниже.
В Excel мы можем создать Progress Bar, используя кодирование VBA. Если вы когда-нибудь задумывались, как мы можем создать индикатор выполнения, то эта статья специально для вас.
Чтобы создать индикатор выполнения, нам нужно выполнить несколько шагов. Ниже приведены шаги, которые необходимо выполнить при создании гистограммы выполнения.
Шаг 1: Создайте или вставьте новую форму пользователя.
Как только вы нажмете на опцию выше, вы увидите форму пользователя, как показано ниже.
Шаг 2: нажмите F4 ключ, чтобы увидеть окно свойств VBA.
На этой вкладке свойств нам нужно изменить свойства Пользовательская форма VBAПользовательская форма VBAВ VBA пользовательские формы — это настраиваемые пользовательские формы, предназначенные для приема пользовательского ввода в виде формы. Он имеет различные наборы элементов управления для добавления, такие как текстовые поля, флажки и метки.читать далее мы вставили.
Шаг 3: Измените имя пользовательской формы на UFProgressBar.
Теперь мы можем ссылаться на эту пользовательскую форму с именем «UFProgressBar» во время кодирования.
Шаг 4: Измените свойство Show Model формы пользователя на FALSE.
Шаг 5: Теперь настройте выравнивание пользователя в соответствии с вашими потребностями. Я изменил высоту пользовательской формы на 120 и ширину на 300.
Шаг 6: Измените заголовок пользовательской формы на «Строка состояния выполнения».
Шаг 7: Теперь из панели инструментов пользовательской формы вставьте LABEL в пользовательскую форму вверху.
С помощью этой метки нам нужно установить свойства метки. Удалите заголовок и сделайте его пустым, а также отрегулируйте ширину метки.
Шаг 8: Измените имя метки на «ProgessLabel».
Шаг 9: Теперь из панели инструментов возьмите рамку и нарисуйте чуть ниже метки, которую мы вставили в предыдущих шагах. Убедитесь, что рамка находится в центре пользовательской формы.
Шаг 10: Теперь нам нужно изменить некоторые свойства фрейма, чтобы он выглядел точно так же, как пользовательская форма, которую мы вставили.
Свойство 1: Измените имя фрейма на «ProgressFrame».
Свойство 2: Удалите заголовок и сделайте его пустым.
Свойство 3: Измените специальный эффект кадра на 6 – fmSpecialEffectBump.
После всех этих изменений наша пользовательская форма должна выглядеть так.
Шаг 11: Теперь вставьте еще одну метку. На этот раз вставьте метку прямо внутрь рамки, которую мы вставили.
При вставке этикетки убедитесь, что левая сторона этикетки точно соответствует вставленной рамке, как показано на изображении выше.
Шаг 12: После вставки метки измените свойства метки следующим образом.
Свойство 1: Измените имя метки на «MainProgressLabel».
Свойство 2: Удалите подпись.
Свойство 3: Измените цвет фона по вашему желанию.
Хорошо, теперь мы закончили процесс настройки индикатора выполнения, и на данный момент он выглядит так.
Теперь нам нужно ввести коды, чтобы все работало идеально.
Шаг 13: Чтобы сделать структуру, добавьте ниже макрос в экселеМакрос в ExcelМакрос в Excel представляет собой серию инструкций в виде кода, который помогает автоматизировать ручные задачи, тем самым экономя время. Excel выполняет эти инструкции шаг за шагом для заданных данных. Например, его можно использовать для автоматизации повторяющихся задач, таких как суммирование, форматирование ячеек, копирование информации и т. д., тем самым быстро заменяя повторяющиеся операции несколькими щелчками мыши. читать далее.
Код:
Sub InitUFProgressBarBar()
With UFProgressBar
.Bar.Width = 0
.Text.Caption = "0%"
.Show vbModeless
End With
Примечание: «UFProgressBar» — это имя, данное пользовательской форме, «Bar» — это имя, данное созданному нами фрейму, а «Text» — это имя, данное метке внутри фрейма.
Теперь, если вы запустите этот код вручную или через клавишу F5, мы должны увидеть индикатор выполнения, подобный этому.
Шаг 14: Теперь нам нужно создать макрос для выполнения нашей задачи. Я выполняю задачу по вставке серийных номеров от 1 до 5000. Наряду с этим кодом нам также необходимо настроить гистограмму выполнения, файл . Код Thew — это индивидуальный код для вас.
Код:
Sub ProgressBar_Chart()
Dim i As LongDim CurrentUFProgressBar As DoubleDim UFProgressBarPercentage As DoubleDim BarWidth As 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
Unload UFProgressBar
End Sub