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.
- 業務フロー図の作成や業務時間分析を通して、効率化ポイントを探る人
- お客様にとって本当に良いことかを第一に考える人
コメント