教えて!ExcelVBA!

ExcelVBAの基礎知識・書き方について紹介します。

ExcelVBAでフォーム内のスクロールバーで値とラベル表示を連動させる方法

構文

構文は以下の通りです。

ラベル名.Caption = スクロールバー名.Value

解説

ラベル名.Captionは、フォーム内のラベルに表示するテキストを設定します。Captionは、ラベルに表示される文字列を制御します。スクロールバー名.Valueは、スクロールバーの現在の値を取得します。スクロールバーの範囲(最大値、最小値)は予め設定しておきます。

プログラミング例

具体的なプログラミング例を紹介します。

Private Sub UserForm_Initialize()
    ' スクロールバーの設定
    ScrollBar1.Min = 0
    ScrollBar1.Max = 100
    ScrollBar1.Value = 50
    ' 初期ラベル表示
    Label1.Caption = ScrollBar1.Value
End Sub
Private Sub ScrollBar1_Change()
    ' スクロールバーの値をラベルに表示
    Label1.Caption = ScrollBar1.Value
End Sub

上記のプログラムでは、フォームを実行すると、スクロールバーを動かすたびにラベルの値が変わります。初期値として「50」がラベルに表示され、スクロールバーを動かすことで「0」から「100」までの値がラベルに表示されます。

まとめ

ScrollBar1_Changeイベントでスクロールバーの値を取得し、ラベルに表示できます。スクロールバーで値の範囲や初期値を設定することが重要です。ユーザーがスクロールバーを操作するたびにラベルに連動して数値が表示されるようにすることができます。