今回はスピンボタンの設定をしていきます。スピンボタンは数値の増減を行う時に使用します。

 

それではいきましょう。

スピンボタンの配置とテキストボックスの数値を増減するコード

vba5-6-1VBA講座5-1でもお話しましたが、「スピンボタンの上下の矢印をクリックすると、隣のテキストボックスの値が増減する」というコードを書いていきます。

 

これは鑑別報告書のページ数を表示するためのものです。1枚なら1/1、2枚なら1/2、2/2と鑑別報告書の右上に記載します。

 

ただスピンボタンを使用するためにはユーザーフォームを開いた時に、数字を読み込ませる必要があります。

 

vba5-6-2UserForm Initializeのコードの

txtJissibi.Text = Date

の下に上の画像を参考に追加して下さい。

With spnPage1
.Min = 1
.Max = 3
.SmallChange = 1
End With
txPage1.Text = 1

With spnPage2
.Min = 1
.Max = 3
.SmallChange = 1
End With
txPage2.Text = 1

それでは1つ目のspnPage1の方を解説していきます。

 

.Min = 1
.Max = 3

「スピンボタンspnPage1の最小値は1、最大値は3」という意味です。そのまんまですね。

 

さて、なぜMAXを3にしたか。

 

今回の鑑別報告書作成システムでは1ページに医薬品を10個掲載する事が可能です。

 

さすがに30種類以上薬を持ってくる患者さんはまずいないので、最大ページ数は3としました。

 

皆さんはお好みで5とかにして頂いても構いません。ここまではいいですね。

 

.SmallChange = 1

これはクリックした場合に増減する値を設定します。1だと1回押す度に±1、2だと±2となります。

 

今回はページ数のため1にします。

 

txtPage1.Text = 1

「テキストボックスtxtPage1に1を入れる。」初期値は1に設定します。

 

ここまでの処理でスピンボタンの最小値と最大値、増減値、初期値の設定を行いました。

 

続いて実際にスピンボタンを押すとテキストボックスの数字が増減するコードを書いていきましょう。

 

めちゃくちゃ簡単です。ではコード画面の上部を見て下さい。

 

vba5-6-3左側はspnPage1を選択します。

 

vba5-6-4続いて右側でSpinDownを選択します。SpinDownは下の矢印を押すという意味です。

 

その下のSpinUpは上の矢印を押すという意味。ホントそのまんまです。

 

vba5-6-5上の画像のようになりましたね。上の

Private Sub spnPage1_Change()
End Sub

は削除して下さい。

 

「spnPage1がChangeしたら」は「スピンボタン1が変化したら」となり一見使えそうです。

 

ですが数字が変化しただけで、数字が増えたのか減ったのかはわからないので今回は使えません。

 

vba5-6-6上の画像のように

txtPage1.Text = spnPage1.Value

と書いて下さい。

 

今回はtxtPage1の値をスピンボタンを押す度に増減させたい。スピンボタンを押した時の値はスピンボタン自身が持っています。

 

だったらその値をそのままテキストボックスに入れてしまえばOKと言うことです。

 

vba5-6-7

Private Sub spnPage1_SpinDown()
txPage1.Text = spnPage1.Value
End Sub

Private Sub spnPage1_SpinUp()
txPage1.Text = spnPage1.Value
End Sub

Private Sub spnPage2_SpinDown()
txPage2.Text = spnPage2.Value
End Sub

Private Sub spnPage2_SpinUp()
txPage2.Text = spnPage2.Value
End Sub

上を参考にspnPage1のSpinUp、spnPage2についても同様に設定して下さい。

 

入力が終わったらF5を押して、初期値に1が入っているか、スピンボタンを押して値が増減するかを確認して下さい。

 

それでは今回は以上とさせて頂きます。お疲れ様でした。

 

次回は鑑別報告書を初期化するコードについて解説します。