チェックボックスの基本
Excel VBAで「はい/いいえ」「オン/オフ」といった二択をユーザーに選んでもらう場面では UserFormのチェックボックス(CheckBox) を使います。
初心者向けに、コード例やテンプレートをかみ砕いて説明します。
基本の考え方
- CheckBoxとは?
□ の形をした入力コントロール。クリックするとチェックが入り、オン/オフを表せる。 - 用途:
- オプションの有効/無効を選択
- 複数条件の選択(例:通知する/しない)
- 設定画面や入力フォームでよく使う
- プロパティ:
.Value→ True(チェックあり)/False(チェックなし).Caption→ 表示されるラベル文字列
テンプレ1:チェック状態を判定してメッセージ表示
UserFormに CheckBox1 と CommandButton1 を配置。
Private Sub CommandButton1_Click()
If CheckBox1.Value = True Then
MsgBox "チェックされています!"
Else
MsgBox "チェックされていません。"
End If
End Sub
VB- ポイント:
CheckBox1.Valueが True ならチェックあり。- False ならチェックなし。
テンプレ2:複数チェックボックスをまとめて判定
UserFormに CheckBox1(メール通知)、CheckBox2(SMS通知)、CommandButton1 を配置。
Private Sub CommandButton1_Click()
Dim msg As String
msg = "選択された通知方法: "
If CheckBox1.Value Then msg = msg & "メール "
If CheckBox2.Value Then msg = msg & "SMS "
MsgBox msg
End Sub
VB- ポイント:
- 複数のチェックボックスを組み合わせて判定。
- 選択されたオプションをまとめて表示。
テンプレ3:チェック状態をシートに書き戻す
Private Sub CommandButton1_Click()
Dim ws As Worksheet: Set ws = Worksheets("Result")
ws.Range("A1").Value = CheckBox1.Value
ws.Range("A2").Value = CheckBox2.Value
MsgBox "チェック状態をシートに保存しました"
End Sub
VB- ポイント:
- True/False がセルに書き込まれる。
- 設定値をシートに保存できる。
テンプレ4:フォーム初期化時にチェック状態を設定
Private Sub UserForm_Initialize()
CheckBox1.Value = True ' 初期状態でチェックあり
CheckBox2.Value = False ' 初期状態でチェックなし
End Sub
VB- ポイント:
- フォームを開いたときに初期状態を設定。
- ユーザーに選択を促す。
テンプレ5:チェックボックスのラベルを動的に変更
Private Sub CommandButton1_Click()
If CheckBox1.Value Then
CheckBox1.Caption = "通知する(選択中)"
Else
CheckBox1.Caption = "通知する"
End If
End Sub
VB- ポイント:
.Captionプロパティでラベル文字を変更。- 状態に応じてわかりやすく表示。
例題で練習
'例1:チェック状態を判定
Sub Example1()
' → CommandButton1_Click にコードを記述
End Sub
'例2:複数チェックボックスをまとめて判定
Sub Example2()
' → CommandButton1_Click にコードを記述
End Sub
'例3:チェック状態をシートに書き戻す
Sub Example3()
' → CommandButton1_Click にコードを記述
End Sub
'例4:フォーム初期化時にチェック状態を設定
Sub Example4()
' → UserForm_Initialize にコードを記述
End Sub
'例5:ラベルを動的に変更
Sub Example5()
' → CommandButton1_Click にコードを記述
End Sub
VB初心者向けポイント
- CheckBoxは「オン/オフ」スイッチ → True/Falseで判定。
- 複数組み合わせ可能 → 複数条件を同時に選べる。
- Captionでラベル変更 → 状態に応じてわかりやすく。
- UserForm_Initializeで初期化 → 開いたときの状態を設定。
- シートとの連携が基本 → チェック状態を保存・読み込みできる。
👉 この「チェックボックス基本テンプレ」を覚えておけば、Excel VBAで オン/オフの選択肢を簡単に扱える入力フォーム を作れるようになります。
