【ExcelVBA入門】ユーザフォームでチェックボックスを使う方法とは

こんにちは、フリーランスエンジニア兼ライターのワキザカ サンシロウです。

皆さんは、VBAでチェックボックスを作ったことがありますか?

簡単なアンケートなどを作る場合にチェックボックスが使えるととても便利です。

そこで今回は、

・チェックボックスとは

・チェックボックスの使い方

といった基礎的なことから、

・プロパティの使い方

・チェックしたチェックボックスをメッセージに表示する方法

といった応用的な方法まで、徹底的に解説します!

チェックボックスとは

はじめに、チェックボックスの基礎について紹介します。

チェックボックスとは、いくつかの選択肢から候補を選ぶための方法です。

複数選択して回答する画面を作るときに便利です。

画面を作るときはよく使うので、使い方を覚えておくとちょっとしたアンケートをサクッと作れるようになります。

ちなみに、テキストボックスユーザーフォームの基礎については以下で詳しく解説しています。

気になる方は以下もぜひ見てみてくださいね!

【VBA入門】ユーザーフォームの使い方(テキスト表示、カレンダー)
更新日 : 2019年4月22日
【ExcelVBA入門】ユーザフォームでテキストボックスを使う方法とは
更新日 : 2019年5月8日

チェックボックスの使い方

次に、具体的なチェックボックスの使い方について説明します。

チェックボックスの配置・設定方法

最初に、チェックボックスの配置・設定方法について説明します。

1. ツールボックスからチェックボックスを選択

2. ユーザーフォームにドラッグしてサイズを決めて配置

3. プロパティを変更

※プロパティウィンドウが出ていない場合は、「表示タブ→プロパティウィンドウ」を選択するとでてきます

ただ、ここまでプロパティの設定値が多いと覚えるのが大変そうですよね。

以下最低限覚えておくと幸せになれるプロパティを紹介します。

プロパティ1:オブジェクト名

オブジェクト名はチェックボックスのチェック状態をVBAで操作するときに使うため、わかりやすい名前に変更しておくのがおすすめです。

chkLang1、chkLang2、chkLang3のように先頭3文字でチェックボックスとわかるようにしつつ、「グループがわかる文字 + 番号」にしておくとVBAを書くときに書きやすいです。

プロパティ2:Caption

Captionでは、チェックボックスに表示する文字列を変更することができます。

チェックボックスを追加したら最初にCaptionを変更するのがおすすめです!

プロパティ3:Font

Fontでは、フォントの見た目を変えることができます。

フォントサイズ、フォントタイプ、フォントカラーなどフォントに関しての設定を変えたい場合に便利です。

Font項目の右側にある「…」ボタンを押すと、設定画面が出てきます。

チェックボックスの値をVBAで利用する方法

チェックボックスのチェック状態をVBAから取得、変更する方法は次の通りです。

取得方法:

変更方法:

チェックしている場合はTrue、していない場合はFalseが返ってきます。

ただ、この方法だと1つずつしか操作することができないため、チェックボックスの場合は少し不便ですよね。

以下の方法で、設定されている全てのチェックボックスの状態を取得することができます。

For文でチェックボックスの数分処理をループし、チェックされている場合のみCaptionstrMessageに入れています。

なお、この例ではチェックボックスのオブジェクト名が全て「CheckBox + 番号」となっていることを前提としています。

サンプルコード

最後に、サンプルコードを紹介します。

画面にチェックボックスで言語の候補を用意して、「回答する」ボタンクリックで選択した言語がメッセージに表示されるサンプルを用意しました。

※チェックボックスのオブジェクト名は全て「CheckBox + 番号」になっています。

ユーザーフォーム:

VBAコード:

実行結果:

まとめ

今回は、チェックボックスの使い方について徹底的に解説しました。

チェックボックスが使えるようになると、ちょっとしたアンケートが簡単に作れるようになります。

使い方も簡単なので、ぜひ使ってみてくださいね!

Excel VBAを最短で習得したい方へ

元々ITリテラシーの高い方やプログラムの学び方がわかっている方であれば、この記事通りに進めていけば、Excel VBAを独学で習得することができるでしょう。

ただし、実際の学習期間中はつまづいている時間がほとんどです。

「なかなかやり遂げられ無い、挫折してしまった」
「時間が足りない」
「情報が少なくどう調べればいいかわからない」
「エラーを解決することができない」

このような悩みを抱えている方も少なく無いと思います。

  • もう挫折したくない
  • 本業と両立しながら、好きな時間で自分のペースで勉強を続けていきたい
  • 自分だけのカリキュラムで効率的に勉強したい
そんな方はお気軽に侍エンジニア塾までご相談ください。

お一人お一人に専属のインストラクターがつくので、より深くExcel VBAについて学習することできます。

まずは『無料体験レッスン』で、弊社のコンサルタントと一緒にあなた専用の学習方やカリキュラムを考えてみませんか?

Excel VBAならではの学習方法や、現役エンジニアから貴重なアドバイスを受けることができます。

詳しくは下の画像をクリックして弊社サービス内容をご確認ください。

cta2_vba2

LINEで送る
Pocket

書いた人

Sanshiro Wakizaka

Sanshiro Wakizaka

フリーランスエンジニア兼ライターのワキザカ サンシロウです。
ExcelVBAの自動化ツール開発、WEB開発をメインにエンジニア業務をこなしつつ、サムライエンジニアにてライター業務をしております。

プログラミングをこれからやってみたい方に向けて、ためになる記事を全力で書いていきますので宜しくお願い致します!

おすすめコンテンツ

あなたにぴったりなプログラミング学習プランを無料で診断!

プログラミング学習の効率を劇的に上げる学習メソッドを解説