Индикатор прогресса в макросе (Microsoft Excel)
Макросы часто создаются для обработки данных, и обработка данных может занять много времени. Из-за этого некоторые пользователи могут подумать, что их компьютер перестал отвечать, даже если макрос занят, выполняя назначенную ему задачу.
Решение для большинства разработчиков макросов — каким-то образом предупреждать пользователей о ходе выполнения макроса. В Excel есть два способа сделать это. Самый простой и распространенный подход — использовать строку состояния, чтобы указать, что делает макрос. Все, что вам нужно сделать, это собрать строку, содержащую сообщение о состоянии, а затем назначить эту строку свойству StatusBar объекта Application, как показано здесь:
sStatus = "Processing Input File - Please Be Patient" Application.StatusBar = sStatus
Сообщение остается в строке состояния, пока вы не замените его другим сообщением. Вы также можете указать прогресс в цикле, указав процент завершения:
For x = 1 to y Application.StatusBar = Format(x/y,"0.0%") & " Complete" ' Other coding here Next
Когда ваша процедура завершится, верните строку состояния в нормальное состояние с помощью следующего оператора:
Application.StatusBar = False
Если вы предпочитаете разработать фактический индикатор выполнения для макроса, вы можете сделать это, создав пользовательскую форму, а затем обновив форму для отображения «шкалы процентов» или какого-либо другого визуального индикатора. Вы можете найти пример такого индикатора прогресса по этому адресу:
https://www.excel-easy.com/vba/examples/progress-indicator.html
_Примечание: _
Если вы хотите узнать, как использовать макросы, описанные на этой странице (или на любой другой странице на сайтах ExcelTips), я подготовил специальную страницу, содержащую полезную информацию.
link: / excelribbon-ExcelTipsMacros [Щелкните здесь, чтобы открыть эту специальную страницу в новой вкладке браузера]
.
ExcelTips — ваш источник экономичного обучения Microsoft Excel.
Этот совет (8969) применим к Microsoft Excel 2007, 2010, 2013, 2016, 2019 и Excel в Office 365. Вы можете найти версию этого совета для старого интерфейса меню Excel здесь:
link: / excel-Progression_Indicator_in_a_Macro [Индикатор прогресса в макросе]
.