Excel VBA 入門講座

第10章 5.オプションボタン Excel VBA 入門講座
スピンボタンスピンボタン

スピンボタンは年月日や増減する値などを入力する際に使用します。スピンボタンは通常、スピンボタン単体ではなくテキストボックスと併用して作成します。例としてテキストボックスとスピンボタンをフォームに配置し、当日年月日を初期値としてセットするコードを記述します。

ツールボックスよりテキストボックスのアイコンをクリックします。

スピンボタン

テキストボックスを配置したい場所でドラック&ドロップします。

テキストボックス

フォームに配置できたらテキストボックスを右クリックしプロパティを選択します。

テキストボックス

プロパティ項目のオブジェクト名をクリックし、デフォルトでオブジェクト名(TextBox1)が入力されているので変更します。(例ではtxtDateに変更)(オブジェクト名は変更しなくても良いのですが、後々テキストボックスが増えた場合区別がつきにくくなるので変更することをお勧めします。)

テキストボックス

次にツールボックスよりスピンボタンのアイコンをクリックします。

スピンボタン

スピンボタンを配置したい場所でドラック&ドロップします。

テキストボックス

フォームに配置できたらスピンボタンを右クリックしプロパティを選択します。

テキストボックス

プロパティ項目のオブジェクト名をクリックし、デフォルトでオブジェクト名(SpinButton1)が入力されているので変更します。(例ではspnDateに変更)(オブジェクト名は変更しなくても良いのですが、後々スピンボタンが増えた場合区別がつきにくくなるので変更することをお勧めします。)

テキストボックス

フォームを右クリックしコードの表示を選択します。

テキストボックス

右のドロップダウンリストより、イベントプロシージャ「Initialize」選択します。

テキストボックス

イベントプロシージャを選択すると自動的にコードが記入されます。

テキストボックス

Private Sub UserForm_Initialize()~End Sub の間に以下のコードを記述します。


Private Sub UserForm_Initialize()
    UserForm1.txtDate.Value = Date
End Sub

スピンボタンを右クリックしコードの表示を選択します。

テキストボックス

右のドロップダウンリストより、イベントプロシージャ「SpinUp」選択します。

テキストボックス

イベントプロシージャを選択すると自動的にコードが記入されます。

テキストボックス

Private Sub spnDate_SpinUp()~End Sub の間に以下のコードを記述します。


Private Sub spnDate_SpinUp()
    Dim dtDate As Date
    dtDate = UserForm1.txtDate.Value
    UserForm1.txtDate.Value = DateAdd("d", 1, dtDate)
End Sub  

右のドロップダウンリストより、イベントプロシージャ「SpinDown」選択します。

テキストボックス

イベントプロシージャを選択すると自動的にコードが記入されます。

テキストボックス

Private Sub spnDate_SpinUp()~End Sub の間に以下のコードを記述します。


Private Sub spnDate_SpinDown()
    Dim dtDate As Date
    dtDate = UserForm1.txtDate.Value
    UserForm1.txtDate.Value = DateAdd("d", -1, dtDate)
End Sub  

実行→Sub/ユーザーフォームの実行をクリックするか〔F5〕ボタンを押します。

テキストボックス

フォームがロードされテキストボックスに本日日付が初期値としてセットされます。スピンボタンをクリックすると日付が変わります。

テキストボックス
第10章 5.オプションボタン Excel VBA 入門講座 TOP