ExcelVBA チェックボックスで選択肢からユーザーが選んだ項目を判定する方法

 

Excel VBA チェックボックスは、選択肢の中からユーザーが選んだ項目を判定するために使用します。フォーム上のチェックボックスの選択状態(オン/オフ)をプログラムで確認し、次の処理を実行することができます。具体的な使い方や、注意点やサンプルコードを紹介します。

 

2025年解消したい。「何度やっても同じミス…Excelマクロで自動化すればゼロにできる!」
👉クリックして、ExcelVBA マクロの情報を断片的に集めるのではなく、体系的に学ぶ

 

Excel VBA チェックボックスの利用

以下のようなシーンで利用されます。

1.入力フォームの作成
ユーザーが何かを選択する際に、チェックボックスで複数の選択肢を提供し、それに応じた処理を実行する。

2.条件付きの操作
特定の条件が満たされた場合にのみ、操作を実行するためのフラグとして使用。

3.フィルタリング
チェックされた項目に基づいてデータをフィルタリングや操作する。

 

Excel VBA チェックボックス|使い方と注意点

使い方

チェックボックスの選択状態は、CheckBox.Value プロパティで判定します。True ならチェックがオン、False ならオフです。

 

ポイント

1.チェックボックスの名前は適切に設定しておくと、複数のチェックボックスを使う際に判定しやすくなります。

2.Excelシートに挿入するチェックボックスとUserForm内に挿入するチェックボックスでは、操作方法が若干異なるため、どちらを使うかを事前に決めておきましょう。

 

Excel VBA チェックボックスのサンプルコード

Excel VBAで効率化の準備をしてみませんか?2025年をよりスムーズに過ごすための資格
基本的な文法やVBAの実践的な応用までを網羅的に学習できる方法は、ExcelVBAエキスパート資格の取得を目指すこと。学習を通して、より効率的に、着実に基礎を身につけることが可能です。資格取得すれば、スキルの証明にもなり、職場での評価アップにも繋がるため、勉強を進めるモチベーションにもなります。
本サイト参考:マクロ知識がないから「何から学べば良いのかわからない」という人におすすめの記事

シート上のチェックボックスの判定
シート上に挿入されたチェックボックスの選択状態を判定する方法です。チェックボックスは ActiveXコントロールとして挿入されているものとします。

Option Explicit

Sub CheckBoxStatus()
    ' CheckBox1という名前のチェックボックスの状態を判定
    If Sheet1.CheckBox1.Value = True Then
        MsgBox "チェックボックスはオンです"
    Else
        MsgBox "チェックボックスはオフです"
    End If
End Sub

UserForm上のチェックボックスの判定

Option Explicit

Private Sub CheckBox1_Click()
    ' UserForm上のCheckBox1の状態を判定
    If UserForm1.CheckBox1.Value = True Then
        MsgBox "チェックボックスはオンです"
    Else
        MsgBox "チェックボックスはオフです"
    End If
End Sub

1.Excelの開発タブを開き、シートやUserFormにチェックボックスを挿入します。

2.VBAエディタを開き、対応するチェックボックスのオブジェクトを操作するコードを記述します。

3.上記のサンプルコードを参考に、チェックボックスの状態に応じた動作を設定します。

チェックボックスを利用することで、ユーザー入力に応じた動作をVBAで簡単に制御できます。フォームやシート上での複数の選択肢を柔軟に扱うために、チェックボックスの判定は非常に便利です。

Excel VBAで自動化するコードのベースを習得したい方におすすめ!

VBAエキスパート資格は、日常業務でExcelを多用し、手動作業を減らしたいと考えている方には価値あるものです。

ExcelVBAエキスパートベーシック
仕事の効率をあげるためにExcelVBAを利用する人が対象の問題集です。


ExcelVBAエキスパートスタンダード

ExcelVBAの開発を仕事にする人が対象の問題集です。

 

Excel  VBA エキスパート資格について知りたい方は、下記「Excel VBAスキルアップを目指すなら知っておきたいVBAエキスパート」をご確認ください。