- ベストアンサー
exce VBA オプションボタンのリンクコピー
exel2000を利用しています。 チェックボタンのリンクコピーを下記プロシージャで利用していますが、オプションボタンだと、これをoptionbutton と変更して出きないみたいで、どのように変更すれば出来るか、ご教授願いたくお願いいたします。 Sub sample() Dim cb As CheckBox For Each cb In ActiveSheet.CheckBoxes cb.LinkedCell = cb.TopLeftCell.Address Next cb End Sub
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
その文脈でマクロを書くなら sub macro1() dim o as optionbutton for each o in activesheet.optionbuttons o.linkedcell = o.topleftcell.address next end sub といった具合になりますが,既出回答にもあるようにそういうマクロを書いてもあまり意味がありません。 主なポイントは次の2点です 1.オプションボタンは所属するグループの中でリンクするセルを共有する (後から付けたリンクセルの設定が他のオプションボタンの設定を上書きする) 2.オプションボタンをグループに1つ配置しても,それ単独で付けたり消したりは原則出来ない (チェックボックスのようには働かない) で。 実際の所で何をしたいのか不明瞭ですが,試しにこんなマクロを付けてみます。 1.フォームのオプションボタンをグループボックスは使わずに1個配置する 2.リンクするセルの設定は「しない」まま,右クリックして次のマクロを登録する sub オプション1_Click() with activesheet.shapes(application.caller) .topleftcell.value = not .topleftcell.value .controlformat.value = -.topleftcell.value end with end sub 3.オプションボタンを載せたセルごとコピーして複製する
その他の回答 (1)
- MackyNo1
- ベストアンサー率53% (1521/2850)
>オプションボタンだと、これをoptionbutton と変更して出きないみたいで、どのように変更すれば出来るか 具体的にどのようにリンクさせることを期待しているのでしょうか? 基本的にオプションボタンのリンクするセルは同じグループでは1つのセルになりますので(いずれか1つしかチェックできないため)、それぞれのオプションボタンを別のセルにリンクするにはグループボックスで囲む必要があります。
お礼
回答ありがとうございます。 グループボックスを理解せずに質問していました。 不明確な質問ですみませんでした。
お礼
回答ありがとうございます。勉強になりました。 回答者様のように、スラスラとコードがかける様になれるといいなぁって思います。