チェックボックスグループで複数選択を可能
Excel VBA ユーザーフォームでチェックボックスグループで複数選択を可能にする方法
Excel VBA ユーザーフォームでチェックボックスグループを作成する場合、デフォルトでは1つしか選択できないようになっています。
しかし、複数選択を可能にすることもできます。
以下、2つの方法をご紹介します。
方法1:MultiSelect プロパティを使用する
チェックボックスグループを配置する
プロパティウィンドウを開く
MultiSelect プロパティを True に設定
この方法で、グループ内のすべてのチェックボックスが複数選択可能になります。
方法2:VBA コードを使用する
以下の VBA コードを、ユーザーフォームの Initialize イベントプロシージャに貼り付けます。
VBA
Option Explicit
Private Sub UserForm_Initialize()
' チェックボックスグループ内のすべてのチェックボックスをループする
For Each chkbox In Me.GroupBox1.Controls
' MultiSelect プロパティを True に設定する
chkbox.MultiSelect = True
Next chkbox
End Sub
コードは注意してご使用ください。
このコードにより、グループボックス GroupBox1 内のすべてのチェックボックスが複数選択可能になります。必要に応じて、グループボックスの名前を変更してください。
補足
上記の方法はいずれも、ユーザーフォームが表示された時点で複数選択を可能にするものです。
ユーザーフォームが表示された後に、プログラム的にチェックボックスをオン/オフする場合には、MultiSelect プロパティに関係なく操作できます。
チェックボックスのオン/オフ状態をワークシートのセルに反映させる場合は、Change イベントプロシージャなどを利用する必要があります。
参考情報
【ExcelVBA入門】ユーザフォームでチェックボックスを使う方法とは | 侍エンジニアブログ
【VBA】UserForm 完全解説「チェックボックス」オン/オフの判定方法とControlsコレクション
上記の情報が、Excel VBA ユーザーフォームのチェックボックスグループで複数選択を可能にするのに役立つことを願っています。