【エクセル】ActiveXコントロールのチェックボックスを使ってみよう!


エクセル,activeX,チェックボックス

皆様こんにちは、ノグチです。

前回記事では、エクセルのフォームコントロールのチェックボックスをご紹介しました。

【エクセル】フォームコントロールのチェックボックスを使ってみよう!
エクセルの、フォームコントロールのチェックボックスのご紹介をしています。見た目だけでなく、チェックボックスの値を、別のセルに出力したり、別のセルからチェックボックスのON/OFFを操作できたりします。使い方を知れば、とっても便利に使える機能ですよ。

入力フォームの見た目としてだけでなく、他のセルにチェックボックスのON/OFFを出力できたり、チェックボックスをクリックした時にマクロを実行させたりできるなど、便利な使い道がありました。

今回は、前回記事で名前だけご紹介をした、ActiveXコントロールのチェックボックスをご紹介します。

ActiveXコントロールのチェックボックス

ワークシートに挿入する

ActiveXのチェックボックスをワークシートに挿入するには、「開発」>「挿入」> 「ActiveXコントロール」からチェックボックスを選択します。

ActiveXコントロール,挿入

「CheckBox1」というテキストとチェックボックスが、ワークシート上に表示されますね。

エクセル,チェックボックス,挿入

前回記事と同じように、本記事でもワークシートに表示されている、線で囲まれたテキストとチェックボックス全体を「コントロール」と呼ぶことにしましょう。

ActiveXのコントロールはデザインモードでカスタムする

チェックボックスに限らず、ActiveXコントロールに変更を加える場合は、デザインモードにしておく必要があります。

デザインモードは、メニューの「開発」タブにある「デザインモード」をクリックすると、メニュー上のデザインモードの背景色が薄いグレーになり、ActiveXコントロールに変更を加えることができるようになります。

エクセル,デザインモード

このデザインモードにしておかないと、ActiveXコントロールの大きさやテキストの変更といったコントロールへの変更が出来ません。

ActiveXコントロールに変更を加えたい場合は、まずこのデザインモードをONにしておきましょう。

デザインモードを解除したい場合は、 「開発」タブの「デザインモード」をもう一度クリックすればOKです。

テキストを変更する

コントロールがワークシートに表示されたとき、「CheckBoxN」(Nは数字)というテキストが表示されていますね。

このテキストは、任意の名称に変更することができます

デザインモードにしてから、コントロールにマウスカーソルを合わせて右クリック>「チェックボックス オブジェクト」>「編集」をクリックすると、テキストが編集できるようになります。

チェックボックス,テキスト編集

今回は、「チェックボックス123」というテキストに変更しておきましょう。

チェックボックス,テキスト

フォントやチェックボックスのサイズを変更する

プロパティシートでカスタマイズできる

コントロールのテキストを変更するには、プロパティシートから変更する方法もあります。

コントロールを右クリック>「プロパティ」をクリックすると、コントロールのプロパティシートが開きます。

チェックボックス,プロパティシート

色々な項目がありますね。

代表的な項目を挙げてみましょう。

プロパティ項目 設定内容
Alighnment コントロール内でチェックボックスを左右どちらに配置するかを設定します
BackColor コントロールの背景色を設定します
Caption コントロールのテキストを変更します
Font コントロールのテキストフォントを変更します
ForeColor コントロールのテキスト色を変更します
LinkedCell チェックボックスのチェック結果を出力するセルを指定します
Height コントロール全体の高さを設定します
Width コントロール全体の幅を設定します
TextAlighn コントロール内でテキストを左右・中央のいずれに配置するかを設定します

フォームコントロールと比較すると、テキストフォントや配置といった項目を細やかにカスタマイズできるようになっていますね。

マクロ実行のトリガーになる

フォームコントロールのチェックボックスと同様、ActiveXコントロールのチェックボックスも、チェックボックスのON/OFF操作によってマクロを実行することができます

コントロール上で右クリック>「コードの表示」をクリックするとVBEの画面が開き、チェックボックスを配置したワークシートのシートモジュール上に「CheckBox数字_Click」というイベントプロシージャが自動的に作成されます。

チェックボックスをクリックした時に実行させたい処理は、このプロシージャ内に書き込むことができますよ。

VBE,プロシージャ

試しに、チェックボックスがクリックされたらメッセージを表示させてみましょう。

プロシージャ内にメッセージを表示させる処理を追加して…

チェックボックスをクリックしてみると…

エクセル,メッセージ

この通り、マクロが実行されてメッセージが表示されました。

ActiveXコントロールのチェックボックスができないこと

チェックボックスのサイズ変更

ActiveXコントロールも、フォームコントロールのチェックボックスと同様、コントロール全体のサイズは変えられてもチェックボックス自体の大きさを変えることはできません

やはり、周りの背景色やフォントの大きさなどのレイアウトで、チェックボックスが埋もれてしまわないようにバランスをとる必要がありそうです。

フォームコントロールのチェックボックスとの違い

フォームコントロールとActiveXコントロールのチェックボックスの違いをざっくりまとめると、こんな感じです。

項目 フォームコントロール ActiveXコントロール
フォント 変更不可 変更可
VBAコード 標準モジュールに自動生成される シートモジュールに自動生成される
コントロール内のテキスト配置 変更不可 変更可
別セルとの連動
コントロールへの変更 デザインモード状態のみ可

フォームコントロールとActiveXコントロールのチェックボックスは見た目はほぼ変わりませんが、フォントが変えられたり、テキストの配置が変えられたりと、Activexコントロールの方が細かいカスタマイズができますね。

しかし、デザインモードへ切り替えずにコントロールを変更できることや、書式設定でサイズや別セルとの連動が設定できるという、操作の気軽さではフォームコントロールに軍配が上がります。

プロパティシートでの設定は、細かい項目を設定できる反面、各項目名が日本語でないということで、人によっては設定のハードルが少し上がるでしょう。

入力フォームの見た目としてチェックボックスを使いたい、チェックボックスのON/OFFが分かれば十分、という事であればフォームコントロールを、見た目やチェックのON/OFFによって動作をカスタムしたい!ということであればActiveXコントロールのチェックボックスを使うというように、用途によって使い分けするとよいかもしれませんね。

最後に

今回は、ActiveXコントロールのチェックボックスをご紹介しました。

見た目は同じでも、蓋を開けてみると違いがありますね。

自分のやりたいことと、フォームコントロール・ActiveXコントロールそれぞれの特性を比べて、より使いやすい方を使えるようになるとよいですね。

それでは、最後までお読みいただきありがとうございました!


タイトルとURLをコピーしました