Excel VBA実装例|オプションボタン用のシェイプを自動表示(EventSelectChangeShowOptionButton)
- yuji fukami
- 2月13日
- 読了時間: 2分
以前の記事で「チェックボックス用のシェイプ表示操作」について紹介しましたが、今回は同様の技術を利用して「オプションボタン用のシェイプ表示」について紹介いたします。
以前の記事

以前の記事
実際の動き
「◉男 ○女」や「○10代 ◉20代 ○30代 ○40代 ○50代 ○60代以上」のような選択形式の入力セルを選択すると、選択肢一覧のシェイプ(図形)が自動的に作図され、それらをクリックするだけで選択を行えるような仕組みです。
実装のポイント:ワークシート側は「1行」だけでOK
この仕組みの肝は、ワークシートのイベント(SelectionChange)で「セル選択が変わった瞬間に、チェックUIを表示する処理」を呼ぶことです。
実際のワークシートのコードウィンドウに入れるのは、下記のようなたった1行です。
やっていることはシンプルで、**「セルが選択された瞬間(Target)」**を受け取り、そのセルにチェック項目(○/◉)が含まれている場合だけ、セル直下に“押せるチェックUI(図形)”を自動生成して表示します。
つまり、ワークシート側では「イベントで呼ぶ」だけ。UI生成・削除・クリックでON/OFF・セルへの書き戻しは、すべて EventSelectChangeShowOptionButton 側で完結しています。
ちなみに、以前に紹介して「チェックボックス用のシェイプ自動表示」と併用が可能ですので、両方実装する場合は一緒に記述しても大丈夫です。
ソースコード
今回紹介しているオプションボタン「EventSelectChangeShowOptionButton」と以前紹介したチェックボックス「EventSelectChangeShowCheckBox」を一緒にまとめたものになります。

