Тхе СтатусБар својство објекта апликације у Екцел ВБА може се користити за означавање напретка дугачког макроа. На овај начин можете обавестити корисника да је макро и даље активан.
Ситуација:
Макро који ћемо створити попуњава Ранге ("А1: Е20") насумичним бројевима.
Додајте следеће линије кода командном дугмету:
1. Прво, декларишемо три променљиве типа Интегер, именоване и, ј и пцтЦомпл.
Дим и Ас Интегер, ј Ас Интегер, пцтЦомпл Ас Интегер
2. Додајте двоструку петљу.
За и = 1 до 20
За ј = 1 до 5
Даље ј
Затим сам
Додајте следеће линије кода (на 3, 4 и 5) у петљу.
3. Користите функцију РандБетвеен за увоз случајног броја између 20 и 100.
Ћелије (и, ј) .Вредност = Функција радног листа.РандБетвеен (20, 100)
4. Иницијализујте променљиву пцтЦомпл. Друга линија кода уписује вредност променљиве пцтЦомпл и неки описни текст у статусну траку.
пцтЦомпл = (и - 1) * 5 + (ј * 1)
Апплицатион.СтатусБар = "Увоз података …" & пцтЦомпл & "% завршено"
Пример: За и = 3, ј = 1, (3 - 1) * 5 + (1 * 1) = 11% је завршено.
5. Користимо метод Ваит објекта Апплицатион за симулацију дугачког макроа.
Апплицатион.Ваит Нов + ТимеВалуе ("00:00:01")
6. Да бисте вратили подразумевани текст статусне траке, поставите својство СтатусБар на Нетачно (изван петље).
Апплицатион.СтатусБар = Нетачно
Резултат је када притиснете командно дугме на листу:
Напомена: Макро можете прекинути у било ком тренутку притиском на Есц или Цтрл + Бреак. За визуелнији приступ, погледајте наш програм Показатеља напретка.