VBAでリストボックスの選択状態を簡単に解除する方法

こんにちは!大阪市を拠点に活動している『縁紡ぐ』の稲垣です。

SWELLを使ったホームページ制作や、Excel、ACCESS、RPAなどのシステム開発を行っています。
また、Excel、Word、Outlookの研修や、情報セキュリティ研修も行っています。身近なITの相談相手になりたいと思っています。

お気軽にお問い合わせください。

目次

リストボックスの選択をクリアする方法

VBA(Visual Basic for Applications)を使って、フォーム上のリストボックスの選択状態を解除する方法をご紹介します。初心者の方でも簡単に理解できるように、具体的なコード例を示しながら解説します。

リストの選択状態を解除するコード例

早速、リストボックスの選択状態を解除するためのコードを紹介します。再利用性ができるように、フォームオブジェクトとリストボックスの名称を渡すことで、どのフォームのどのリストでも動作するようにしています。

' 選択状態をクリアする処理
Sub ClearListBoxSelection(frm As Object, lstBoxName As String)
    Dim lstBox As MSForms.ListBox
    Set lstBox = frm.Controls(lstBoxName)
    
    If lstBox Is Nothing Then Exit Sub
    
    Dim i As Integer
    With lstBox
        For i = 0 To .ListCount - 1
            .Selected(i) = False
        Next i
    End With
End Sub

’ 利用する時は、ClearListBoxSelectionの後に、フォーム、対象のリストボックスの名称 を引数として渡す
Sub ExampleUsage()
    ' UserForm1のListBox1の選択状態を解除
    ClearListBoxSelection UserForm1, "ListBox1"
    
    ' UserForm2のListBox2の選択状態を解除
    ClearListBoxSelection UserForm2, "ListBox2"
End Sub

ClearListBoxSelectionの内容

・frm As Object:フォームオブジェクトを引数として受け取ります
・lstBoxName As String:リストボックスの名前を文字列として引数として受け取ります
・Set lstBox = frm.Controls(lstBoxName):指定された名前のリストボックスをフォームから取得します
・If lstBox Is Nothing Then Exit Sub:リストボックスが存在しない場合は、サブルーチンを終了します
・.Selected(i) = False:リストボックス内のすべてのアイテムの選択状態を解除します

使用する時の方法

・フォームとリストボックスの名前を指定して、ClearListBoxSelectionを呼び出します

まとめ

VBAでリストボックスの選択状態を解除する方法をご紹介しました。この方法を使えば、ユーザーフォームの使い勝手がさらに向上します。

記事を書いた人

稲垣

  • Excel、ACCESSでのシステム開発が得意
  • ITスキルを共有し実践的に学びながら成長する人を見るのが幸せ
  • 自家焙煎するほどのコーヒー好き
  • 使用言語 VBA、Python、Javascript、Java、HTML、CSS etc.
  • 保有資格 Kintoneアソシエイト、日商簿記検定2級、マンション管理士、管理業務主任者、情報セキュリティマネジメント、ExcelVBA etc.
  • 業務フロー図の作成や業務時間分析を通して、効率化ポイントを探る人
  • お客様にとって本当に良いことかを第一に考える人
よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

コメント

コメントする

目次