リストボックスのこんな使い方
以前、リストボックスの変わった使い方を見たことがある。
変わっていると言っても、私が変わっていると思っただけで、実は
一般的なのかもしれない。例えば、こんな感じだ。
Userformの中央にあるのはリストボックスで、表示する列数は1だ。
しかしこのリストボックスのリストとして、二次元配列を充てることが
出来てしまう。
Private Sub UserForm_Initialize() Dim ListArray(2, 1) As Variant ListArray(0, 0) = "りんご": ListArray(0, 1) = "100" ListArray(1, 0) = "みかん": ListArray(1, 1) = "150" ListArray(2, 0) = "ばなな": ListArray(2, 1) = "200" ListBox1.List = ListArray End Sub
1列目が品名で、2列目が単価のイメージだ。そして、表示ボタンの
クリックイベントに、このように設定する。
Private Sub CommandButton1_Click() Dim i As Long For i = 0 To ListBox1.ListCount - 1 If ListBox1.Selected(i) Then MsgBox ListBox1.List(i, 1) Exit For End If Next End Sub
すると、リストボックスで選択した値について、リストボックスに表示
されない2列目の値を取得することができる。
実際の使い処としては、例えばファイル名のみを1列目として表示し、
非表示の2列目にそのフルパスを置いておく、などが考えられる。
色んな使い方があるもんだと、感心した次第です。
参考まで。