コントロール a

VBAトップへ
 a コントロール
  テキストボックス
  コンボボックス
  リストボックス
  チェックボックス
  オプションボタン
  スピンボタン 


テキストボックス

1.テキストボックス

テキストボックスは数値、文字列などを入力する場合に使用します。また、頻繁に使用する数値、文字列(当日年月日など)を初期値としてセットすることができます。例としてテキストボックスをフォームに配置し、当日年月日を初期値としてセットするコードを記述します。

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


  2. テキストボックス

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


  4. テキストボックス

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


  6. テキストボックス

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


  8. テキストボックス

  9. ユーザーフォームをクリックして選択し、右クリックしコードの表示をクリックするか、ダブルクリックします。


  10. テキストボックス

  11. 以下のコードが自動的に記述されます。


  12. テキストボックス

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


  14. テキストボックス

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


  16. テキストボックス

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


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



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


  20. テキストボックス

  21. フォームがロードされテキストボックスに本日日付が初期値としてセットされます。


  22. テキストボックス

先頭へ戻る

コンボボックス

2.コンボボックス

コンボボックスは数値、文字列などを入力したり、コンボボックスから選択する際に使用します。また、コンボボックスのリストに項目をセットすることができます。例としてコンボボックスをフォームに配置し、月(1〜12)を初期値としてセットするコードを記述します。

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


  2. コンボボックス

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


  4. コンボボックス

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


  6. コンボボックス

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


  8. コンボボックス

  9. ユーザーフォームをクリックして選択し、右クリックしコードの表示をクリックするか、ダブルクリックします。


  10. コンボボックス

  11. 以下のコードが自動的に記述されます。


  12. コンボボックス

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


  14. コンボボックス

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


  16. コンボボックス

  17. コンボボックスに項目を追加するメソッドとしてAddItemメソッドがあります。Private Sub UserForm_Initialize()〜End Sub の間に以下のコードを記述します。


  18. 
    Private Sub UserForm_Initialize()
        Dim i As Integer
        
        For i = 1 To 12
            UserForm1.cmbMonth.AddItem i
        Next
        
    End Sub
      



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


  20. コンボボックス

  21. フォームがロードされコンボボックスの項目に月(1〜12)がセットされます。


  22. コンボボックス

先頭へ戻る

リストボックス 

3.リストボックス

リストボックスは複数の項目から数値、文字列を選択する場合に使用します。リストボックスは数値、文字列(当日年月日など)などを事前に初期値としてセットする必要があります。例としてリストボックスをフォームに配置し、西暦(1900〜現在の西暦)を初期値としてセットするコードを記述します。

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


  2. リストボックス

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


  4. リストボックス

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


  6. リストボックス

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


  8. リストボックス

  9. ユーザーフォームをクリックして選択し、右クリックしコードの表示をクリックするか、ダブルクリックします。


  10. リストボックス

  11. 以下のコードが自動的に記述されます。


  12. リストボックス

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


  14. リストボックス

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


  16. リストボックス

  17. リストボックスに項目を追加するにはAddItemメソッドを使用します。
    Private Sub UserForm_Initialize()〜End Sub の間に以下のコードを記述します。


  18. 
    Private Sub UserForm_Initialize()
        Dim i As Integer
        
        For i = 1900 To Year(Date)
            UserForm1.lstYear.AddItem i
        Next
    End Sub
      



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


  20. リストボックス

  21. フォームがロードされリストボックスに西暦(1900〜現在の西暦)が初期値としてセットされます。


  22. リストボックス

先頭へ戻る

チェックボックス

4.チェックボックス

チェックボックスは項目が選択されているかを判定する場合に使用します。例としてチェックボックスとコマンドボタンをフォームに配置し、チェックボックスが選択されているかを判定するコードを記述します。

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


  2. チェックボックス

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


  4. チェックボックス

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


  6. チェックボックス

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


  8. チェックボックス

  9. Captionをクリックし、デフォルトでCaption(CheckBox1)が入力されているので変更します。(例ではチェックボタンに変更)


  10. チェックボックス

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


  12. チェックボックス

  13. コマンドボタンを配置したい場所でドラック&ドロップします。


  14. チェックボックス

  15. フォームに配置できたらコマンドボタンを右クリックしプロパティを選択します


  16. チェックボックス

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


  18. チェックボックス

  19. Captionをクリックし、デフォルトでCaption(CommandButton1)が入力されているので変更します。(例ではチェックするに変更)


  20. チェックボックス

  21. コマンドボタンをクリックして選択し、右クリックしコードの表示をクリックするか、ダブルクリックします。


  22. チェックボックス

  23. チェックボックスを選択している場合は"True"を選択していない場合は"False"をVariant型で返します。Private Sub cmdCheck_Click()〜End Sub の間に以下のコードを記述します。


  24. 
    Private Sub cmdCheck_Click()
        
        Dim varCheck As Variant
        
        varCheck = UserForm1.chkSelect.Value
        
        If varCheck = True Then
             MsgBox "チェックが入っています"
        ElseIf varCheck = False Then
             MsgBox "チェックが入っていません"
        End If
        
    End Sub
      



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


  26. チェックボックス

  27. ボタンをクリックするとチェックボックスが選択されている場合は"チェックが入っています"とメッセージボックスが表示されます。


  28. チェックボックス

  29. 選択されていない場合は"チェックが入っていません"と表示されます。


  30. チェックボックス

先頭へ戻る

オプションボタン

5.オプションボタン

オプションボタンは複数ある項目の中でいずれか1つを選択する場合に使用します。まず、フレームをフォームに設置し、配置したフレームの中にオプションボタンを配置することにより、各オプションボタンは1つのグループとなります。例としてフレーム、オプションボタン、コマンドボタンをフォームに配置し、どのオプションボタンが選択されているかを判定するコードを記述します。

  1. ツールボックスよりフレームのアイコンをクリックします。


  2. オプションボタン

  3. フレームを配置したい場所でドラック&ドロップします。


  4. オプションボタン

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


  6. オプションボタン

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


  8. オプションボタン

  9. Captionをクリックし、デフォルトでCaptionに"Frame1"が入力されているので変更します。(例では血液型に変更)


  10. オプションボタン

  11. 次にツールボックスよりオプションボタンのアイコンをクリックします。


  12. オプションボタン

  13. オプションボタンを配置したい場所でドラック&ドロップします。


  14. オプションボタン

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


  16. オプションボタン

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


  18. オプションボタン

  19. Captionをクリックし、デフォルトでCaptionに"OptionButton1"が入力されているので変更します。(例ではA型に変更)


  20. オプションボタン

  21. 「6〜10」の要領で、B型、AB型、O型のオプションボタンを配置します。


  22. オプションボタン

  23. 最後にツールボックスよりコマンドボタンのアイコンをクリックします。


  24. オプションボタン

  25. コマンドボタンを配置したい場所でドラック&ドロップします。


  26. オプションボタン

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


  28. オプションボタン

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


  30. オプションボタン

  31. Captionをクリックし、デフォルトでCaption(CommandButton1)が入力されているので変更します。(例ではチェックするに変更)


  32. オプションボタン

  33. コマンドボタンをクリックして選択し、右クリックしコードの表示をクリックするか、ダブルクリックします。


  34. オプションボタン

  35. オプションボタンが選択されている場合は"True"を選択していない場合は"False"をVariant型で返します。


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

    
    Private Sub cmdCheck_Click()
        Dim varTypeA As Variant
        Dim varTypeB As Variant
        Dim varTypeO As Variant
        Dim varTypeAB As Variant
        
        varTypeA = UserForm1.optTypeA.Value
        varTypeB = UserForm1.optTypeB.Value
        varTypeO = UserForm1.optTypeO.Value
        varTypeAB = UserForm1.optTypeAB.Value
        
        If varTypeA = True Then
            MsgBox "A型を選択しています。"
        ElseIf varTypeB = True Then
            MsgBox "B型を選択しています。"
        ElseIf varTypeO = True Then
            MsgBox "O型を選択しています。"
        ElseIf varTypeAB = True Then
            MsgBox "AB型を選択しています。"
        Else
            MsgBox "血液型を選択してください。"
        End If
        
    End Sub
      



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


  38. オプションボタン

  39. 任意のオプションボタンを選択し、ボタンをクリックすると"〜型です。"とメッセージボックスが表示されます。


  40. オプションボタン
 

 

先頭へ戻る

スピンボタン

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. テキストボックス
 

   先頭へ戻る   

中級・特別編トップへ