VBA チェックボックス
In this Article
VBAでは チェックボックスを作成し、ユーザーがそのオプションにチェックを入れたり外したりすることができます。チェックボックスは、ユーザーフォームでよく使われますが、ワークシートでも使用することができます。このチュートリアルでは、チェックボックスを作成し、VBAでユーザーの選択肢を取得し、コードで使用する方法を学びます。
リストボックスの作成方法を学びたい場合はこちら:VBA リストボックス
コンボボックスの作成方法を学びたい場合はこちら:VBA コンボボックス
チェックボックスを作成する
ワークシートにチェックボックスを挿入するには、開発タブで挿入 をクリックし、ActiveXコントロールグループの「チェックボックス」を選択します。
画像1.ワークシートにチェックボックスを挿入する
挿入したチェックボックスを選択すると、開発タブで 「プロパティ」をクリックすることができるようになります。
画像2.チェックボックスのプロパティを変更する
ここでは、チェックボックスのさまざまなプロパティを設定することができます。まず、オブジェクト名を chbCheckboxに変更しました。これで、VBAのコードでチェックボックスをこの名前で扱うことができるようになります。また、チェックボックスの横に表示されるテキストを「条件に同意する」に変更しました。これを行うには、Caption属性を設定します。
VBAでチェックボックスの選択された項目を取得する
チェックボックスの目的は、ユーザーの選択(チェックボックスにチェックを入れたかどうか)を取得することです。ユーザーが選択した値を取得するためには、次のコードを使用する必要があります。
If Sheet1.chbCheckBox.Value = True Then
Sheet1.Range("C3") = "同意する"
Else
Sheet1.Range("C3") = "同意しない"
End If
セルC3に、チェックボックスがチェックされていれば「同意する」、そうでなければ「同意しない」と入力するようにしましょう。チェックボックスの値は、Sheet1.chbCheckboxオブジェクトのValue属性にあります。チェックボックスの値には、trueとfalseがあります。
画像3.VBAでチェックボックスから選択値を取得する
チェックボックスにチェックを入れたので、Sheet1.chbCheckbox.Valueの値はtrueとなり、C3の結果は「同意する」となります。
ユーザーフォームでチェックボックスを使う
前述したように、チェックボックスはユーザーフォームで使用されることがほとんどです。その方法を説明するために、まずユーザーフォームを挿入します。VBAエディタでモジュール名を右クリックし、挿入を クリックし、ユーザーフォームを選択します。
画像8.ユーザーフォームを挿入する
挿入のためのコントロールを表示するには、ツールボックスを有効にする必要があります。ツールバーのツールボックスのアイコンをクリックすると、すべてのコントロールが表示されたウィンドウが表示されます。そこでチェックボックスをクリックすると、ユーザーフォームにチェックボックスを作成することができます。
画像9.ユーザーフォームにチェックボックスを挿入する
プロパティウィンドウで、チェックボックスの名前をchbCheckBoxに、Captionを条件に同意するに変更します。ユーザーフォームを実行すると、チェックボックスが表示されます。
画像10.ユーザーフォームのチェックボックス
チェックボックスから選択された値を取得する場合は、先に説明したワークシートのチェックボックスと同じロジックを使用する必要があります。