VBA チェックボックス

Written by

Mel Jenkins

Reviewed by

Steve Rynearson

Translated by

masahiro yoshida

Last updated on 6月 1, 2022

VBAでは チェックボックスを作成し、ユーザーがそのオプションにチェックを入れたり外したりすることができます。チェックボックスは、ユーザーフォームでよく使われますが、ワークシートでも使用することができます。このチュートリアルでは、チェックボックスを作成し、VBAでユーザーの選択肢を取得し、コードで使用する方法を学びます。

リストボックスの作成方法を学びたい場合はこちら:VBA リストボックス

コンボボックスの作成方法を学びたい場合はこちら:VBA コンボボックス

チェックボックスを作成する

ワークシートにチェックボックスを挿入するには、開発タブで挿入 をクリックし、ActiveXコントロールグループの「チェックボックス」を選択します。

vba-insert-checkbox チェックボックス

画像1.ワークシートにチェックボックスを挿入する

挿入したチェックボックスを選択すると、開発タブで 「プロパティ」クリックすることができるようになります。

vba-checkbox-properties チェックボックス プロパティ

画像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があります。

vba-checkbox-get-value チェックボックス 値 取得

画像3.VBAでチェックボックスから選択値を取得する

チェックボックスにチェックを入れたので、Sheet1.chbCheckbox.Valueの値はtrueとなり、C3の結果は「同意する」となります。

ユーザーフォームでチェックボックスを使う

前述したように、チェックボックスはユーザーフォームで使用されることがほとんどです。その方法を説明するために、まずユーザーフォームを挿入します。VBAエディタでモジュール名を右クリックし、挿入を クリックし、ユーザーフォームを選択します。

vba checkbox insert userform チェックボックス ユーザーフォーム

画像8.ユーザーフォームを挿入する

挿入のためのコントロールを表示するには、ツールボックスを有効にする必要があります。ツールバーのツールボックスのアイコンをクリックすると、すべてのコントロールが表示されたウィンドウが表示されます。そこでチェックボックスをクリックすると、ユーザーフォームにチェックボックスを作成することができます。

vba insert checkbox in userform チェックボックス ユーザーフォーム

画像9.ユーザーフォームにチェックボックスを挿入する

プロパティウィンドウで、チェックボックスの名前をchbCheckBoxに、Captionを条件に同意するに変更します。ユーザーフォームを実行すると、チェックボックスが表示されます。 vba check box in userform チェックボックス ユーザーフォーム

画像10.ユーザーフォームのチェックボックス

チェックボックスから選択された値を取得する場合は、先に説明したワークシートのチェックボックスと同じロジックを使用する必要があります。

vba-free-addin

VBA Code Examples Add-in

Easily access all of the code examples found on our site.

Simply navigate to the menu, click, and the code will be inserted directly into your module. .xlam add-in.

(No installation required!)

Free Download

Return to VBA Code Examples