Excel VBA 初心者の為の入門講座のホームページです

Excel VBA 入門講座


6.スピンボタン

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

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


  2. スピンボタン

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


  4. テキストボックス

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


  6. テキストボックス

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


  8. テキストボックス

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


  10. スピンボタン

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


  12. テキストボックス

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


  14. テキストボックス

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


  16. テキストボックス

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


  18. テキストボックス

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


  20. テキストボックス

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


  22. テキストボックス

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


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


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


  26. テキストボックス

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


  28. テキストボックス

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


  30. テキストボックス

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


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


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


  34. テキストボックス

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


  36. テキストボックス

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


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


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


  40. テキストボックス

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


  42. テキストボックス

Copyright (C) pc-users.net, All Rights Reserved.