ExcelVBAでチェックボックスを活用する簡単な方法

今回はExcelでシートに張り付けて使えるチェックボックスの使い方についてまとめました。
ネットにはあまり簡単にチェックボックスを活用できるソースが見つからなかったので、少しハマってしまいました。
私のハマったポイントも含めて、チェックボックスのシンプルな活用法についてまとめたので、参考になれば幸いです。

今回使用するコード

今回使用するコードはこちら。
チェックボックスのチェックに応じて文字と背景色を変えるだけの、シンプルなコードです。

シートにチェックボックスを張り付ける

まず、シートにチェックボックスを挿入します。
やり方は簡単。
[開発]タブ ⇒ [挿入] ⇒ [チェックボックス]
で完了です。

あとはセルごとコピーしてあげれば、簡単にシートにチェックボックスを作成することができます。

チェックボックスの名前を調べる

ここが私がハマったポイントでした。
VBAで、先ほど作成したチェックボックスを操作する際、参照するためにはこのチェックボックスオブジェクトの名前が必要になります。
このチェックボックスの名前を知るためには、名前を知りたいチェックボックスを選択して、

[ホーム]タブ ⇒ [検索と選択] ⇒ [オブジェクトの選択と表示]

を開きます。

すると、次のような画面になります。
この右側に表示されている名前が、チェックボックスの名前になります。
参照の際はスペースに注意してください。
私はスペースを入れ忘れて延々ハマっていました笑

チェックボックスの値を知る

いよいよコーディングをしていきます。
今回はチェックボックスのチェックによって、文字と背景色を変えたいので、条件分岐のためにチェックボックスの値を知る必要があります。
初期状態では、チェックが入っていれば1を返し、入っていなければ-4146を返すようです。
一応確認してみましょう。
チェックボックスの値をセルに代入するコードを書きました。

マクロを実行すると…、

はい、チェックの有無によって1か-4146の値が表示されました!
あとはこの値によってif文を書くだけです。

完成!

チェックボックスの値によって表示する内容を変えるif文を書いて…、

実行!

上手くいきました!
チェックの有無によって背景色と文字が変わっていますね。

次はチェックを変えて遊んでみましょう。
全てにチェックをつけると…、

オールグリーン!
気持ちいいですね。

ダメ押しでもう一回。

ばっちりです。
これは一番シンプルな使い方ですので、ぜひご自身の使い道に合わせて応用してあげてください。

それではまた。