Перейти к содержимому
Наше приложение «Дешевые авиабилеты» в AppGallery >>

VBA Excel. Элемент управления SpinButton (счетчик)

    Элемент управления пользовательской формы SpinButton, применяемый в VBA Excel для создания счетчика, состоящего из двух кнопок. Свойства, пример кода.

    Элемент управления SpinButton

    UserForm.SpinButton – это элемент управления пользовательской формы, представляющий из себя счетчик, состоящий из двух кнопок, нажатие на которые увеличивает или уменьшает числовое значение этого элемента с указанным шагом.

    Элемент управления SpinButton
    Элемент управления SpinButton предназначен в VBA Excel для ввода пользователем числовых данных, которые ограничены минимальным и максимальным значениями. Увеличение или уменьшение числового значения счетчика при однократном нажатии кнопки происходит с указанным шагом.

    Визуально, элемент управления SpinButton состоит из двух кнопок, расположенных вертикально или горизонтально в зависимости от настроек. При нажатии на верхнюю или правую кнопку элемента управления значение увеличивается, при нажатии на нижнюю или левую – уменьшается.

    Обычно счетчик используется в паре с элементом управления TextBox или Label. Вспомогательный элемент необходим, чтобы отобразить значение счетчика на пользовательской форме.

    Свойства элемента SpinButton

    Свойство Описание
    BackColor Цвет кнопок.
    Delay* Время между последовательными событиями при удержании кнопки.
    ControlTipText Текст всплывающей подсказки при наведении курсора на счетчик.
    Enabled Возможность взаимодействия пользователя с элементом управления. True – взаимодействие включено, False – отключено (цвет стрелок становится серым).
    Height Высота элемента управления.
    Left Расстояние от левого края внутренней границы пользовательской формы до левого края элемента управления.
    Max Максимальное значение свойства Value.
    Min Минимальное значение свойства Value.
    Orientation** Задает горизонтальную или вертикальную ориентацию элемента управления SpinButton.
    SmallChange Шаг изменения значения свойства Value.
    TabIndex Определяет позицию элемента управления в очереди на получение фокуса при табуляции, вызываемой нажатием клавиш «Tab», «Enter». Отсчет начинается с 0.
    Top Расстояние от верхнего края внутренней границы пользовательской формы до верхнего края элемента управления.
    Visible Видимость элемента SpinButton. True – элемент отображается на пользовательской форме, False – скрыт.
    Width Ширина элемента управления.

    * По умолчанию свойство Delay равно 50 миллисекундам. Это означает, что первое событие (SpinUp, SpinDown, Change) происходит через 250 миллисекунд после нажатия кнопки, а каждое последующее событие – через каждые 50 миллисекунд (и так до отпускания кнопки).

    ** По умолчанию включена автоматическая ориентация, которая зависит от соотношения между шириной и высотой элемента управления. Если ширина больше высоты – ориентация горизонтальная, если высота больше ширины – ориентация вертикальная.

    В таблице перечислены только основные, часто используемые свойства счетчика. Все доступные свойства отображены в окне Properties элемента управления SpinButton.

    Пример кода VBA Excel со счетчиком

    Условие

    1. На пользовательской форме UserForm1 расположены элементы управления SpinButton1 и Label1.
    2. Необходимо задать для счетчика SpinButton1 интервал значений от 100 до 500 единиц с шагом 50 и отображением набранного значения на элементе Label1.

    Решение

    Первоначальные настройки при открытии пользовательской формы:

    Обработка события Change объекта SpinButton1:

    Обе процедуры размещаются в модуле пользовательской формы.

    Содержание рубрики VBA Excel по тематическим разделам со ссылками на все статьи.