コンボボックスのリストを複数列表示する|Excel VBA |
コンボボックスのリストには、複数の列を表示することが可能です。
次のサンプルでは、コンボボックスに2列のリストを表示します。
フォームのInitializeイベントのイベントプロシージャに処理を記述します。
TextColumnプロパティに2を指定しているため、ドロップダウンリストからデータを選択するとコンボボックスには2列目のデータを表示します。この値はTextプロパティで取得できます。
また、BoundColumnプロパティに1を指定しているため、コンボボックスのValueプロパティでは1列目の値を取得できます。
コンボボックスでデータを選択し、同じフォーム上に配置したコマンドボタン(CommandButton1)をクリックして表示されるメッセージを確認してください。
Private Sub UserForm_Initialize()
Dim myArray() As Variant
Dim i As Long
ReDim myArray(9, 1)
For i = 1 To 10
'1列めの項目
myArray(i - 1, 0) = i
'2列め項目
myArray(i - 1, 1) = "データ" & i
Next i
With ComboBox1
.ColumnCount = 2 '表示列数の設定
.TextColumn = 2 '表示列の設定
.BoundColumn = 1 '値として取得する列の設定
.List() = myArray() 'リスト項目の設定
End With
End Sub
Private Sub CommandButton1_Click()
MsgBox "Textプロパティ : " & ComboBox1.Text & vbCrLf & _
"Valueプロパティ: " & ComboBox1.Value
End Sub