Excel VBA 逆引き集 | チェックボックス

Excel VBA
スポンサーリンク

チェックボックスの基本

Excel VBAで「はい/いいえ」「オン/オフ」といった二択をユーザーに選んでもらう場面では UserFormのチェックボックス(CheckBox) を使います。
初心者向けに、コード例やテンプレートをかみ砕いて説明します。


基本の考え方

  • CheckBoxとは?
    □ の形をした入力コントロール。クリックするとチェックが入り、オン/オフを表せる。
  • 用途:
    • オプションの有効/無効を選択
    • 複数条件の選択(例:通知する/しない)
    • 設定画面や入力フォームでよく使う
  • プロパティ:
    • .Value → True(チェックあり)/False(チェックなし)
    • .Caption → 表示されるラベル文字列

テンプレ1:チェック状態を判定してメッセージ表示

UserFormに CheckBox1CommandButton1 を配置。

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で オン/オフの選択肢を簡単に扱える入力フォーム を作れるようになります。

タイトルとURLをコピーしました