#281 リストボックスの複数選択項目を取得するには? フォーム、VBA

リストボックスでは、"複数選択"プロパティ"標準"または"拡張"に設定することによって、複数の項目を選択することができます。

複数選択しないプロパティ設定の場合には、リストボックスの名前を指定するだけでそこで選択された値を取得できますが、複数の選択項目を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
| Index | Prev | Next |



T'sFactory
Accessで動く生産管理DB
Ureru Express
Webで使う販売顧客管理
Access開発&アドバイス
DB開発やテクニカルアドバイス
Copyright © T'sWare All rights reserved