構文
構文は以下の通りです。
' 最小値の設定
スクロールバー名.Min = 値
' 最大値の設定
スクロールバー名.Max = 値
スクロールバー名.Min = 値
' 最大値の設定
スクロールバー名.Max = 値
解説
スクロールバーの最小値と最大値を設定するには、MixプロパティとMaxプロパティを使用します。値には「-2,147,483,648」~「2,147,483,647」の範囲値を設定することが可能です。
使い方
具体的な使い方を紹介します。
Private Sub UserForm_Initialize()
' フォームが初期化されたときに実行されるコード
' スクロールバーの最小値と最大値を設定
' スクロールバー1の最小値を設定
ScrollBar1.Min = 0
' スクロールバー1の最大値を設定
ScrollBar1.Max = 100
' 初期値を設定
ScrollBar1.Value = 0
End Sub
' フォームが初期化されたときに実行されるコード
' スクロールバーの最小値と最大値を設定
' スクロールバー1の最小値を設定
ScrollBar1.Min = 0
' スクロールバー1の最大値を設定
ScrollBar1.Max = 100
' 初期値を設定
ScrollBar1.Value = 0
End Sub
この例では、フォームが初期化されるときにスクロールバー1の最小値を0、最大値を100に設定し、初期値を0に設定しています。これにより、スクロールバーが0から100の範囲で動作するようになります。
プログラミング例
以下に、プログラミング例を紹介します。
Private Sub UserForm_Initialize()
' フォームが初期化されたときに実行されるコード
' スクロールバーの最小値と最大値を設定
' スクロールバー1の最小値を設定
ScrollBar1.Min = 0
' スクロールバー1の最大値を設定
ScrollBar1.Max = WorksheetFunction.Max(Sheet1.Range("B2:B100"))
' 初期値を設定
ScrollBar1.Value = 0
End Sub
Private Sub ScrollBar1_Change()
' スクロールバーの値が変更されたときに実行されるコード
' スクロールバーの値に基づいて処理を行う
Dim currentValue As Integer
currentValue = ScrollBar1.Value
' ここでスクロールバーの値に基づいて何らかの処理を行う
' 例えば、特定のセルに対する操作など
Sheet1.Range("C1").Value = Sheet1.Range("B2").Offset(currentValue, 0).Value
End Sub
' フォームが初期化されたときに実行されるコード
' スクロールバーの最小値と最大値を設定
' スクロールバー1の最小値を設定
ScrollBar1.Min = 0
' スクロールバー1の最大値を設定
ScrollBar1.Max = WorksheetFunction.Max(Sheet1.Range("B2:B100"))
' 初期値を設定
ScrollBar1.Value = 0
End Sub
Private Sub ScrollBar1_Change()
' スクロールバーの値が変更されたときに実行されるコード
' スクロールバーの値に基づいて処理を行う
Dim currentValue As Integer
currentValue = ScrollBar1.Value
' ここでスクロールバーの値に基づいて何らかの処理を行う
' 例えば、特定のセルに対する操作など
Sheet1.Range("C1").Value = Sheet1.Range("B2").Offset(currentValue, 0).Value
End Sub
上記は、Excelファイルに生徒のテストスコアが記録されていて、それをスクロールバーで操作するフォームを作成する内容となります。この例では、スクロールバーの最大値をテストスコアの範囲に合わせて動的に設定しています。そして、ScrollBar1_Change イベント内でスクロールバーの値が変更された際に、それに応じてテストスコアの表示を更新しています。
まとめ
スクロールバーの最大値と最小値を設定することで、データの範囲を指定してスクロールバーを制御することができ、ユーザーが効果的にデータを操作できます。是非活用してください。