リストボックスでは、"複数選択"プロパティを"標準"または"拡張"に設定することによって、複数の項目を選択することができます。
複数選択しないプロパティ設定の場合には、リストボックスの名前を指定するだけでそこで選択された値を取得できますが、複数の選択項目を1つずつ取得するには、VBAのモジュールを使って次のように処理する必要があります。ここでは、リストボックスの名前を"lstリスト"とし、[OK]ボタンがクリックされたとき、選択値を順番にメッセージボックス表示します。

【ItemsSelected コレクションを使った方法】
Private Sub OK_Click()
Dim varItm As Variant
With Me!lstリスト
For Each varItm In .ItemsSelected
MsgBox .ItemData(varItm)
Next varItm
End With
End Sub
【Selectedプロパティで選択/非選択をトレースする方法】
Private Sub OK_Click()
Dim iintLoop As Integer
With Me!lstリスト
For iintLoop = 0 To .ListCount - 1
If .Selected(iintLoop) Then
MsgBox .ItemData(iintLoop)
End If
Next iintLoop
End With
End Sub
|