オプションボタンをフォームコントロールタイプで、エクセルシートにVBAだけで設置します。
複数設置するので、他のコントロールよりも動作設定は少々複雑になります。
こんにちは、じゅんぱ店長(@junpa33)です。
フォームコントロールのタイプを使用して、オプションボタンをシートに設置します。
VBAコードによって、ボタンを配置するところから行っていきます。
フォームコントロールを使うので、標準モジュールだけの記述で機能させることが出来ます。
オプションボタンのシート設置記事編成
- ActiveXとフォームの両コントロールのオプションボタンをエクセルシートに手動設置する
- フォームコントロールのオプションボタンをエクセルシートにVBA配置する
コンテンツ
オプションボタンをVBAのみで設置するメリット
エクセルシートにオプションボタンを簡単に設置する方法は、
リボンの「挿入」から「ツールボタン」で選択することが簡単で分かりやすいです。一通り設置作業を完了してから、値の取り出し加工をVBAで行うことになるでしょう。
ただし、この方法で行うボタン設置は、手作業なので修正変更も手作業になります。設置数が多い場合は大変です。
に対して、
一から設置をすべてVBAコードで行う場合は、プログラムの実行一発で完了です。
修正も、シート上で細かく作業する必要はありません。
ただし、VBAコードで、オプションボタンを設置したい位置に ” ピッタリ ” に置けるか、考え通りの動作をするか、などコード設計上の知識的不安も出てきます。
この知識的不安が解消されれば、メンテナンスも含めた利便性も大幅にアップするでしょう。
オプションボタンVBA設置の説明順序
シートが白紙の状態から、オプションボタンを設置、グループ化して、実用の設定、を段階的に説明して行きます。
コードの記述順が逆になると、うまく機能しなくなる部分もありますので、そこは注意して作業を行っていきます。
オプションボタン設置時作業時に発生するエラーとして、「コードの記述エラー」はもちろんですが、「存在しないオブジェクトを指定するエラー」も少なからずあります。
また、コードの記述順の違いによって、” エラーではないので停止せずに、何も実行されず終了する ” ことも起こります。まるで「On Error Resume Next」でエラースルーされてコード終了するようなことです。
以下の手順で、説明して行きます。
説明を積み重ねていくようになっていますので、途中からの記事読みでは、少し理解が難しいかもしれません。
2種類のオプションボタンと手作業でのシート設置
ActiveXコントロールとフォームコントロールの2種類のオプションボタンがあります。
それぞれの違いを、シートへの設置方法と動作させるVBAの記述方法の違いから説明しています。
オプションボタンのシートへの設置方法の詳細と使い方のコツフォームコントロールのオプションボタンをシートへVBA設置
フォームコントロールのオプションボタンを、VBAコードでシートに設置する方法を説明します。
設置場所が「決まっている」場合と「決まっていない」場合があります。
両方のケースについて、「とりあえずオプションボタンをVBAで設置できる」ようにします。
オプションボタンの種類は、ActiveXではなくフォームコントロールを使用します。
フォームのオプションボタンを静的・動的設置するシートへ設置するコントロール数は多くなればなるほど、エクセルのパフォーマンスが低下します。
特にオプションボタンコントロールは、複数設置での機能発揮のためその要因をはらんでいます。
フォームコントロールは、ActiveXに比べてイベントを使わないので、多少なりともエクセル動作への負荷が軽減されると思われます。
オプションボタンで必要な2つのグループ分け
オプションボタンは、一つだけでは機能しません。複数個の設置が必要です。
では、シートに100個のオプションボタンを設置してみます。
オプションボタン 2つのグループ化の使い分けオプションボタンは、それぞれの区分けや範疇でグループ化しておく必要があります。
①.シート上のデフォルト設定では、項目選択肢100個の中でいくつ選択可能でしょうか?答え「1つだけ」です。
全体で100個のオプションボタンの内、10個のボタンを削除する必要があります。
②.1個づつボタンを選択して「Deleteキー」を押していく方法が正解でしょうか?答え「いいえ」です。
- 全部で100個のオプションボタンで、10個の選択肢を選べる様にするには、10ブロックのグループ分けをする必要があります。
- 10ブロックをそれぞれ設置のグループ分けでグループ化すれば、グループを一度に削除することも可能です。
オプションボタンのクリック時の設定
設置したオプションボタンに、ボタン名や表示名、グループ名や戻り値のリンク先などを設定して実用できるようにします。
この設定は必須で重要な設定事項となります。
どうしたいかによっても、コード設計が変わる部分です。
オプションボタンの実用設定をVBAコード化するオプションボタンを削除する
エクセルでは、コントロール(オプションボタンなど)は、図形描画と同じ「Shapeオブジェクト」扱いになります。
シート上では、セル値であれば、更新などで上書き修正されますが、シート上のコントロールは、そのようにはなりません。
今あるオプションボタンの修正目的で、ボタン設置のコマンドを再度実行すれば、上重ね(二重)でオプションボタンが設置されてしまいます。
つまり一度設置されたボタンを変更するためには、必ず一度削除してから再設置する必要が出てきます。
シート上のオプションボタンを削除するVBAコードまとめ
オプションボタンは、一か所設置では機能しないコントロールです。
他の種類のコントロール違って、動作を設定する時には行うべき内容の設定があります。
動作不良ともなりかねないので、必ず行うべき設定のチェックを行っておきましょう。
エクセルVBAを独習するのに参考書は欠かせません。 参考書選びは自分に合った「相棒」にできるものを選んでいきたいです。
エクセルVBAの独習でおすすめ参考書を7冊選ぶ。良書との出会いは大切です今回の記事はここまでです。 最後までご覧いただき有難うございました。
<記事内容についての告知>
VBAコードの記述記事においては、その記述には細心の注意をしたつもりですが、掲載のVBAコードは動作を保証するものではりません。 あくまでVBAの情報の一例として掲載しています。 掲載のVBAコードのご使用は、自己責任でご判断ください。 万一データ破損等の損害が発生しても当方では責任は負いません。
アンケートでポイ活しよう!!
アンケートに答えれば答えるほど ”使える” ポイントがたまります。