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

スポンサーリンク

スピンボタンの配置と数値を増減するコード

 

vba5-6-1コントロールを配置するでもお話しましたが、スピンボタンの矢印をクリックすると、隣のテキストボックスの値が増減するというコードを書いていきます。

 

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

 

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

 

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

txtJissibi.Text = Date

の下に上の画像を参考に追加して下さい。1つ目のspnPage1の方を解説していきます。

 

.Min = 1
.Max = 3

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

 

さて、なぜMAXを3にしたか。今回の鑑別報告書作成システムでは1ページに医薬品を10個掲載する事が可能です。さすがに30種類以上薬を持ってくる患者様はまずいないので最大ページ数は3としました。

 

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

スポンサーリンク

 

.SmallChange = 1

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

 

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したら」は一見使えそうですが、数字が増えたのか減ったのかはわからないので今回は使えません。

 

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

txtPage1.Text = spnPage1.Value

と書いて下さい。

 

今回はtxtPage1の値をスピンボタンを押す度に増減させたい。スピンボタンを押した時の値はスピンボタン自身が持っています。だったらその値をそのままテキストボックスに入れてしまえばOKだと言うことです。

 

vba5-6-7では上の画像を参考にspnPage1のSpinUp、spnPage2についても同様に設定して下さい。

 

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

 

それでは今回は以上とさせて頂きます。お疲れ様でした。次回は鑑別報告書を初期化するコードを解説します。

>>Excel VBA講座 目次へ