見出し画像

チェックボックスグループで複数選択を可能

 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 ユーザーフォームのチェックボックスグループで複数選択を可能にするのに役立つことを願っています。

この記事が気に入ったらサポートをしてみませんか?