コンボボックスに値を設定
Excel VBAでコンボボックスに値を設定するには、いくつかの方法があります。
ListIndexプロパティを使用する
最も簡単な方法は、ListIndexプロパティを使用する方法です。ListIndexプロパティは、コンボボックス内のアイテムの位置を示す番号を設定するために使用されます。
VBA
ComboBox1.ListIndex = 0 ' 最初のアイテムを選択
ComboBox1.ListIndex = 2 ' 3番目のアイテムを選択
コードは注意してご使用ください。
2. SelectedItemプロパティを使用する
SelectedItemプロパティを使用して、コンボボックスで選択されているアイテムを取得または設定することもできます。
VBA
ComboBox1.SelectedItem = "りんご" ' "りんご" アイテムを選択
MsgBox ComboBox1.SelectedItem ' 選択されているアイテムを表示
コードは注意してご使用ください。
3. AddItemメソッドを使用する
コンボボックスに新しいアイテムを追加するには、AddItemメソッドを使用します。
VBA
ComboBox1.AddItem "北海道"
ComboBox1.AddItem "青森"
ComboBox1.AddItem "岩手"
コードは注意してご使用ください。
4. For Eachループを使用する
ワークシートのセル範囲から値をコンボボックスに設定するには、For Eachループを使用することができます。
VBA
For Each cell In Range("A1:A10")
ComboBox1.AddItem cell.Value
Next cell
コードは注意してご使用ください。
コンボボックスに値を設定する際の注意点
コンボボックスに設定する値は、コンボボックスのソースと一致する必要があります。
ソースとは、コンボボックスに表示されるアイテムのリストのことです。
コンボボックスに設定する値が存在しない場合は、エラーが発生する可能性があります。
コンボボックスに複数の値を設定する場合は、複数選択を許可する必要があります。
参考資料
【ExcelVBA フォーム&コントロール】コンボボックスの既定値を設定する方法を教えて! https://support.microsoft.com/en-us/office/add-a-list-box-or-combo-box-to-a-worksheet-in-excel-579e1958-f7f6-41ae-ba0c-c83cc6e40878
【ExcelVBA フォーム&コントロール】コンボボックスに値を設定する https://www.ipentec.com/document/microsoft-excel-cell-change-cell-to-doropdown-list
【VBA入門】コンボボックスの使い方(リストの初期化、値の取得) https://tonari-it.com/excel-vba-userform-combobox-setvalue/
これらの資料を参考に、状況に合わせて適切な方法を選択してください。