★フォームにコントロールを貼り付けよう! | ||||||||||||||||
それではユーザーフォームをいつものようにひとつ作りましょう |
||||||||||||||||
スクロールバーを1つとフレームを2つ、それからラベルを1つユーザーフォーム上に貼り付けましょう。貼り付けたらプロパティは、
あんまり変更はしていません。出来上がりはこんな感じです。 |
||||||||||||||||
それでは次にフレームの2つを重ねますよ。Frame1の上にFrame2を重ねます。 このように同じサイズのフレームを重ねることによって、スクロールバーの値の変化に合わせて、Frame2のサイズを変更しFrame2のサイズ=スクロールバーの値というようにするんですね。 |
||||||||||||||||
ここまでは問題ありませんよね。 ではコード記述はどうなっているでしょうか? 私はこんな感じで書きましたよ。 |
||||||||||||||||
Option Explicit ’ユーザーフォームが開いた時 Private Sub UserForm_Initialize() ’スクロールバーの最大値を100とする ScrollBar1.Max = 100 ’スクロールバーの最小値を0とする ScrollBar1.Min = 0 ’スクロールバーの矢印をクリックした時の増減する単位 ScrollBar1.SmallChange = 10 ’スクロールバーの最初の値を0に設定 ScrollBar1.Value = 0 ’フレーム1の幅を0に設定 Frame2.Width = 0 End Sub ’スクロールバーの値に変化が生じたときは Private Sub ScrollBar1_Change() ’Frame2.Widthっていうのはフレーム2の幅のことでその幅を ’Frame1の幅を100%としてスクロールバーの値分の率で表示します。 Frame2.Width = (Frame1.Width) * (ScrollBar1.Value / 100) ’ラベルのCaptionの値をスクロールバーの値にして表示します。 Label1.Caption = ScrollBar1.Value End Sub |
||||||||||||||||
このようにしてユーザーフォームが開かれたときにスクロールバーの個々の設定が行われ、 スクロールバーに変化が生じたときにフレームの幅を変化させることでメーターは作れますね。 何かのお役に立てれば幸い!以上です。 |
||||||||||||||||
|