目次
コンボボックスを配置する
コンボボックスをユーザーフォームに配置するには、ツールボックス内のコントロール「コンボボックス」をユーザーフォームにドラッグ&ドロップします。
コンボボックスにリストを入れる
コンボボックスとは、下記図のように入力する値をリストとして表示させることができます。
コンボボックスにリストを入れるには、下記のサンプルコードのように、「コンボボックス名.AddItem "入れたいリストの値"」とすることでリストを入れられます。
下記のサンプルコードでは、ユーザーフォーム起動時のInitializeイベントに記述しております。
Initializeイベントについてはこちらを参考にしてください。
サンプルコード
Private Sub UserForm_Initialize()
Me.ComboBox1.AddItem "えんびつ"
Me.ComboBox1.AddItem "消しゴム"
Me.ComboBox1.AddItem "下敷き"
End Sub
コンボボックスのリストをシートから取得する
コンボボックスのリストは、シートからも取得することができます。
例えば下記のように、A列にリストを用意しておき、そのリストをそのままコンボボックスに反映させることができます。
下記のサンプルコードは、A列にリストがあることを想定し、1行目から最終行までの値をコンボボックスに格納しています。
サンプルコード
Private Sub UserForm_Initialize()
Dim LastRow As Long, i As Long
'A列の最終行を取得しています
LastRow = Cells(Rows.Count, "A").End(xlUp).Row
'1行目から最終行までループし、A列の値をコンボボックスに格納します
For i = 1 To LastRow
Me.ComboBox1.AddItem Cells(i, "A").Value
Next i
End Sub
上記のサンプルコードを実装することで、リストを増やしても、コンボボックスに反映されます。
リストの項目以外、入力不可にする
コンボボックスのリスト内の項目以外、入力してほしくない場合は、プロパティウィンドウのStyleを「2 - fmStyleDropDownList」に変更すると、リスト内の項目以外入力できなくなります。
他のユーザーフォーム編
- 1. ユーザーフォーム編
- 2. テキストボックスの使い方
- 3. チェックボックスの使い方