リストボックスの複数選択された項目を削除する - Accessコントロール

Access2013のリストボックスで複数選択された項目を削除するには、ループで選択されているかどうかチェックし、選択されていれば削除する方法だとうまくいきません。

下記の方法で行うとうまく削除できました。

  1. 1回目のループで総当りし、選択されているかどうかチェックします。
  2. 選択されている場合、そのインデックス番号を配列に格納します。
  3. 大きい方のインデックス番号から配列をループします。
  4. RemoveItemでリストから削除します。
BackHomeへ Backコントロールメニューへ



[選択項目の削除]ボタンを設置します。
[選択項目の削除]ボタンを設置
実行画面です。
リストボックスで複数選択し[選択項目の削除]ボタンをクリックします。
リストボックスで複数選択



複数選択した項目が削除できました。
複数選択した項目削除

《 VBAコード 》
Private Sub コマンド10_Click()
    Dim i As Integer
    Dim j As Integer
    Dim ar() As Long
    ReDim ar(Me.リスト0.ListCount)
    i = 0
    j = 0
    Do While i < Me.リスト0.ListCount
        If Me.リスト0.Selected(i) Then
            ar(j) = i
            j = j + 1
        End If
        i = i + 1
    Loop
    For i = j - 1 To 0 Step -1
        Debug.Print ar(i)
        Me.リスト0.RemoveItem ar(i)
    Next
    Exit Sub
End Sub

関連リンク
選択したリストをテキストボックスに表示する
リストボックスから複数選択された項目を取り出す



BackHomeへ Backコントロールメニューへ

Copyright(C) FeedSoft