Private Sub CommandButton1_Click()
'すべての行をループ
For i = 0 To ListBox1.ListCount - 1
'選択されている場合
If ListBox1.Selected(i) Then
'リストの値を取得
Debug.Print ListBox1.List(i, 0)
End If
Next
End Sub
複数行を選択しておきます。
複数行を選択する
実行すると、選択した行の値を取得できます。
選択した値を取得できた
選択した行の値を取得できました。
複数選択したリストをシートに入力する
ちょっと応用で、複数選択したリストをシートに入力する、というのをやってみます。
VBAコード
ユーザーフォームを立ち上げた際に、初期値を設定するVBAコードです。
Private Sub UserForm_Initialize()
ListBox1.ColumnCount = 3 '列数
ListBox1.List = Range("A2:C6").Value 'リストを作成
End Sub
選択された値をシートに入力するVBAコードで、ボタンに登録してあります。
Private Sub CommandButton1_Click()
k = 1
For i = 0 To ListBox1.ListCount - 1
If ListBox1.Selected(i) Then
k = k + 1
Cells(k, "E") = ListBox1.List(i, 0) '商品
Cells(k, "F") = ListBox1.List(i, 1) '価格
Cells(k, "G") = ListBox1.List(i, 2) '数量
End If
Next
End Sub