#117 リストボックスに「すべて選択・解除」の機能を付けるには? VBA

複数選択可能なリストボックスで、すべてのリスト項目をボタン1つで選択状態にしたり、逆に非選択状態にしたりする方法です。

すべて選択したときすべて選択解除したとき

  1. まず、フォームにリストボックスを配置します。この例では名前を"lst商品区分"としました。

  2. このリストボックスを、項目を"複数選択"可能な状態にします。それには、「複数選択プロパティ」を"標準"または"拡張"に設定します。

  3. 続いて、[すべて選択]および[すべて解除]のボタンを配置します。この例ではそれぞれ"すべて選択ボタン"、"すべて解除ボタン"という名前にしました。

  4. それぞれのボタンに、次のようなクリック時のイベントプロシージャを割り当てます。
    ここで、「For iintLoop = 0 To .ListCount - 1」のループは、リストボックスのすべての項目を順番に取り出すためのループです。そして「.Selected(iintLoop)=」の部分で、iintLoop番目の項目が選択か非選択かを設定します。Trueにすれば選択状態、Falseにすれば非選択状態になります。
    Private Sub すべて選択ボタン_Click()
      Dim iintLoop As Integer

      With Me!lst商品区分
        For iintLoop = 0 To .ListCount - 1
          .Selected(iintLoop) = True
        Next iintLoop
      End With

    End Sub

    Private Sub すべて解除ボタン_Click()
      Dim iintLoop As Integer

      With Me!lst商品区分
        For iintLoop = 0 To .ListCount - 1
          .Selected(iintLoop) = False
        Next iintLoop
      End With

    End Sub
| Index | Prev | Next |



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