列の最後に、データを連結した項目を持っておき、
・Comboboxの幅を調整して、取得前はそれが隠れる程度にしておき、
・選択後は、そのダミー列を表示する
としたら、どうでしょうか。少し不細工ですか?
即効テクニック「コンボボックスのリストを複数列表示する」
https://www.moug.net/tech/exvba/0090021.html
を下敷きにして、こんな風にしてみました。
Private Sub UserForm_Initialize()
Dim myArray() As Variant
Dim i As Long
ReDim myArray(9, 2) '■変更
For i = 1 To 10
'1列めの項目
myArray(i - 1, 0) = i
'2列め項目
myArray(i - 1, 1) = "データ" & i
'■追加
myArray(i - 1, 2) = myArray(i - 1, 0) & vbTab & myArray(i - 1, 1)
Next i
With ComboBox1
.ColumnCount = 3 '表示列数の設定 ■変更
.TextColumn = 3 '表示列の設定 ■変更
.BoundColumn = 2 '値として取得する列の設定 ■変更
.List() = myArray() 'リスト項目の設定
End With
End Sub
Private Sub CommandButton1_Click()
MsgBox "Textプロパティ : " & ComboBox1.Text & vbCrLf & _
"Valueプロパティ: " & ComboBox1.Value
End Sub
微修正が必要かもしれません。