ユーザーフォームにスクロールバーを配置

Excel のユーザーフォームに配置できる「スクロールバー」。
今まで、「何に使うんだろう」と思っていた。ListBoxなどは、表示内がはみ出せば、勝手にスクロールバーが現れてくれる。

f:id:Infoment:20181116175713p:plain

ところが、最近のこと。どこかで見かけたのが脳裏に残っていたのか、
「スクロールさせる以外にも使いどころがあるのでは?」
と気づいてしまった。

例えば、こんな感じ。
f:id:Infoment:20181116175844p:plain

ユーザーフォーム

コードは、至ってシンプルだ。
まずは、ユーザーフォームの初期化。ラベルの値を0にする。

Option Explicit
Private Sub UserForm_Initialize()
    Label1.Caption = 0
End Sub

ついで、スクロールバーの移動結果をラベルに表示させる。

Private Sub ScrollBar1_Change()
    Label1.Caption = ScrollBar1.Value
End Sub

これは、何かと使い勝手がありそうだ。
f:id:Infoment:20181116180218g:plain

範囲を0~100に設定して、百分率と連動させても面白そうだ。

Private Sub ScrollBar1_Change()
    ScrollBar1.Min = 0
    ScrollBar1.Max = 100
    Label1.Caption = ScrollBar1.Value
End Sub

f:id:Infoment:20181116180509g:plain

これは色々と、楽しいことが出来そうです。

参考まで。