スクロールバーを使う(変更されたときの処理)
ScrollBarの値が変わるとChangeイベントでラベルを更新し、現在の数値を見えるようにします。
実行前に確認
- バーとラベルは自動では連動しません。Changeで値を読み、Captionへ代入する処理が必要です。
- コードと公式仕様を照合した学習用の例です。Excel実機での実行確認は行っていません。
1サンプルコード
'【貼付先:UserForm1 のコードモジュール】
Option Explicit
Private Sub UserForm_Initialize()
Me.Width = 360
Me.Label1.AutoSize = True
With Me.ScrollBar1
.Min = 0
.Max = 100
.SmallChange = 5
.LargeChange = 20
.Value = 50
End With
ShowRate
End Sub
Private Sub ScrollBar1_Change()
ShowRate
End Sub
Private Sub ShowRate()
Me.Label1.Caption = "割合:" & Me.ScrollBar1.Value & "%"
End Sub図で見るバーの値を表示する
イメージ図ScrollBarの値が変わるとChangeイベントでラベルを更新し、現在の数値を見えるようにします。
操作
スクロールバーを動かす
通知
Changeイベント
表示
Valueを「割合:…%」にする
各操作は、このガイドに指定されたフォームのコードで行います。
コードの処理を説明する模式図です。実際の画面や実行結果を撮影したものではありません。
使い方・実行手順を確認する5つの手順で、コードの使い方を確認できます
- 1
Windows版デスクトップExcelの練習用ブックを.xlsmで保存し、Alt+F11→[挿入]→[ユーザーフォーム]で、名前がUserForm1の空のフォームを用意します。各例は別々に試します。
- 2
ツールボックスからScrollBar1を横長に1個、Label1を1個を置き、各コントロールの[(Name)]が記載どおりか確認します。
- 3
UserForm1を右クリック→[コードの表示]を開き、掲載コード全体をフォームのコードモジュールへ貼り付けます。標準モジュールには貼り付けません。
- 4
VBEでUserForm1を選び、F5でフォームを表示します。 右矢印を1回クリックし、つまみも動かします。
- 5
最初は「割合:50%」、右矢印を押すと「割合:55%」となり、操作に応じて更新されます。