• ベストアンサー

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

質問者が選んだベストアンサー

  • ベストアンサー
  • keithin
  • ベストアンサー率66% (5278/7941)
回答No.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.オプションボタンを載せたセルごとコピーして複製する

puyopa
質問者

お礼

回答ありがとうございます。勉強になりました。 回答者様のように、スラスラとコードがかける様になれるといいなぁって思います。

その他の回答 (1)

  • MackyNo1
  • ベストアンサー率53% (1521/2850)
回答No.1

>オプションボタンだと、これをoptionbutton と変更して出きないみたいで、どのように変更すれば出来るか 具体的にどのようにリンクさせることを期待しているのでしょうか? 基本的にオプションボタンのリンクするセルは同じグループでは1つのセルになりますので(いずれか1つしかチェックできないため)、それぞれのオプションボタンを別のセルにリンクするにはグループボックスで囲む必要があります。

puyopa
質問者

お礼

回答ありがとうございます。 グループボックスを理解せずに質問していました。 不明確な質問ですみませんでした。

関連するQ&A