Відобразити процес виконання, excel для всіх

Часто при створенні кодів в VBA використовується звернення до осередків, листам, книгам і т.д. і їх обробка в циклах. Пара прикладів подібних циклів:

Використання Application.StatusBar
Найпростіший варіант відображення процесу виконання коду. Він може бути без проблем використаний на будь-якому ПК.
Application.StatusBar - це спеціальний елемент інтерфейсу, розташований в лівій нижній частині вікна Excel і який може показувати додаткову інформацію в залежності від дій користувача. Все не раз бачили його в роботі. Наприклад, після того як ми скопіювали осередку StatusBar покаже нам Дод.Інформація:

І з VBA є доступ до цього елемента. Щоб написати слово привіт в StatusBar треба виконати всього один рядок коду:

Цей варіант мені подобається найбільше.
При бажанні можна зробити і інші варіанти - головне знайти символи, які будуть показуватися і визначити їх числовий код.

  • створюємо UserForm (в меню VBE -Insert -UserForm. Детальніше про вставку модулів і форм - Що таке модуль? Які бувають модулі?)
  • відображаємо вікно конструктора (якщо не показує): View -Toolbox
  • далі в меню Tools -Additional Controls
  • там шукаємо щось має в назві ProgressBar і відзначаємо його. Тиснемо Ок.

Тепер у вікні Toolbox з'явиться елемент ProgressBar. Просто перетягуємо його на форму. У властивостях можна задати колір і стиль відображення смуги прогресу. Залишиться лише при необхідності програмно показувати форму і ставити для елемента ProgressBar значення мінімуму і максимуму. Приблизно це виглядати буде так:
практичний код
Наприклад, треба обробити всі виділені комірки. Якщо форма називається UserForm1, а ProgressBar - ProgressBar1, то код буде приблизно такою:

Схожі статті