Елемент управління ScrollBar вдає із себе всім знайому смугу прокрутки, яка зустрічається в текстових полях, коли їх вміст не вміщується на поверхні. Тільки в даному випадку, його логіка роботи трохи змінюється.
VBA Об'єкт ScrollBar зручно використовувати, коли потрібно збільшити або зменшити діапазон. Так, можна з його допомогою задавати діапазон для обчислення суми чисел, або, в залежності від положення повзунка міняти колір тексту. Зрозуміло, що в цьому випадку зручно використовувати цикл for. Прикладом використання об'єкта ScrollBar VBA може служити регулятор гучності, контрасту і так далі.
Базові властивості класу ScrollBar VBA
Max і Min - дані властивості дозволяють задати максимальне і мінімальне значення, які ви зможете визначити використовуючи дані елемент управління. Властивість приймає тільки цілі значення в діапазоні від -32 767 до +32 767. Ви можете задавати значення як в прямому порядку (від меншого до більшого) так і в зворотному (від більшого до меншого). У таких випадках повзунок потрібно буде тягнути в тому чи іншому напрямку.
SmallChange - властивість vba приймає ціле значення, яке визначає, на яку величину буде переміщатися повзунок при натисканні на кнопки прокрутки.
LargeChange - як і властивість SmallChange дозволяє задати крок переміщення повзунка при натисканні на смугу прокрутки. Значення можуть бути в діапазоні від -32 767 до +32 767, за замовчуванням значення рівні для обох властивостей 1.
Orientation - властивість дозволяє вказати орієнтацію повзунка - горизонтальну або вертикальну. За замовчуванням значення рівно 1 - орієнтація визначається автоматично виходячи з параметрів форми, тобто, як смуга прокрутки вміщується на об'єкті UserForm. Можна і явно вказати орієнтацію об'єкта ScrollBar, -1 - горизонтальна орієнтація і 0 - вертикальна.
Visible - власне, визначає видимість vba компонента ScrollBar, значення true встановлено за замовчуванням - об'єкт бачимо, і false - приховуємо елемент управління від очей користувача.
Value - дозволяє отримати значення повзунка, в залежності від його положення.
Як і більшості елементів управління, основною подією для ScrollBar VBA є подія Change. яке виникає при переміщенні повзунка.
Тепер настав час приступити до практики
Тут ми визначаємо, що при запуску модуля (макросу) з ім'ям ScrollModule треба показати форму з ім'ям ScrollForm, властивість Show робить об'єкта класу UserForm видимим.
Тепер на поверхні форми нам потрібно розташувати такі елементи управління:
Label1 - мітка, в якій пропишемо текст "Смуга прокрутки"
ScrollBar1 - смуга прокрутки, яка розміщується під міткою, вона повинна бути горизонтальною. З її допомогою ми буде задавати діапазон значень від 1 до 100, і потім будемо обчислювати суму заданих чисел.
Label2 - друга мітка. видаліть в ній весь текст, в ній ми буде відображати результат підсумовування.
ScrollBar1_Change - тут відбувається обробка події Change. У циклі відбувається підсумовування чисел від 1 до ScrollBar1.Value. Тут ScrollBar1.Value містить вибране значення на смузі прокрутки, результат підсумовування буде зберігати змінна summ. Також в властивість Caption об'єкта Label2 записується результат підсумовування.
UserForm_Initialize - тут відбувається визначення початкових властивостей при ініціалізації форми. Розмір і текст міток, задається мінімальне (один) і максимальне (сто) значення для смуг прокрутки. Тут також використовується цикл для підсумовування значень.
І так, давайте підсумуємо: ми розглянули приклад використання об'єкта класу ScrollBar VBA мови, який дозволяє додавати на поверхню форми UserForm смугу прокрутки.