Макроязык (VBA), поставляемый с Excel, довольно мощный. Это означает, что с языком вы можете выполнять довольно сложные (и впечатляющие) задачи. Для выполнения некоторых задач может потребоваться некоторое время. Проблема в том, что некоторые пользователи могут подумать, что их компьютер завис, если на экране нет индикации того, что макрос запущен.

Есть два подхода к решению такой задачи. Первый (и самый простой) вариант — использовать строку состояния для отображения хода выполнения макроса. Например, вы можете добавить в свой макрос код, с помощью которого он определяет процент выполнения. Когда у вас есть процент (допустим, он хранится в переменной xPctComp), вы просто добавляете в свой макрос следующую строку:

Application.StatusBar = "Portion completed: " & _   Format(xPctComp, "##0.00%")

Такую строку можно добавить в основной текст вашего макроса, например, в любой цикл, который управляет обработкой. Когда макрос почти готов, вы должны добавить строку, очищающую строку состояния, например:

Application.StatusBar = ""

Другой способ создать индикатор выполнения — использовать какое-то диалоговое окно, в котором отображается индикатор «уровня топлива» относительно процента выполнения. В сети уже доступны многочисленные реализации такой концепции. Хороший представитель этого подхода можно найти на сайте Джона Уокенбаха:

http://www.j-walk.com/ss/excel/tips/tip34.htm

_Примечание: _

Если вы хотите узнать, как использовать макросы, описанные на этой странице (или на любой другой странице на сайтах ExcelTips), я подготовил специальную страницу, содержащую полезную информацию.

link: / excelribbon-ExcelTipsMacros [Щелкните здесь, чтобы открыть эту специальную страницу в новой вкладке браузера].

ExcelTips — ваш источник экономичного обучения Microsoft Excel.

Этот совет (2496) применим к Microsoft Excel 97, 2000, 2002 и 2003.