|
▼鼻毛カッター さん:
おはようございます。HNがとてもユニークで・・・。
>教えていただきたいのですがよろしいでしょうか?
>オプションボタンだけを使い、シート上にある項目に丸をつけようと思っているのですが、なかなか上手くいきません。
シートに貼り付けるオプションボタンということですか?
そうだとしたら、「コントロールツールボックス」のそれと「フォーム」と二つあるので
どちらなのか明記してくださいね!!
「コントロールツールボックス」にあるオプションボタンだと思って記述します。
>例をあげると、ボタン1の時は、アに丸をつけ、ボタン2の時は、イに丸をつけるというものです。ここまではできたのですが、アに丸をつけてから、イに丸をつけると、アについている丸が消えてくれません。片方に丸ついているときは、片方には丸がついていないようにしたいのですが、どのようにすればよろしいのでしょうか?
>わかる方がいらしたら、よろしくお願い致します。
例えば、あるシート上にオプションボタンを3つ配置します(OptionButton1〜OptionButton3)。
OptionButton1が選択されたら、セルA1に○、
OptionButton2が選択されたら、セルA2に○、
OptionButton3が選択されたら、セルA3に○。
というような仕様を考えると、
当該シートに
'=========================================
Private Sub OptionButton1_Change()
Call set_○(1)
End Sub
'=========================================
Private Sub OptionButton2_Change()
Call set_○(2)
End Sub
'=========================================
Private Sub OptionButton3_Change()
Call set_○(3)
End Sub
'=========================================
Sub set_○(id As Long)
Range("a1:a3").Value = ""
Cells(id, 1).Value = "○"
End Sub
なんてすると、○がセルA1からA3を移動するように見えます。
手法としては、例のように一旦○が動く範囲を初期化してしまう方法と
元の位置を示すポインタを持つ方法がありますが、
オプションボタンの数がすこぶる多い場合は、
後者の手法をとらなければならないかもしれません。
これで応用できますか?
|
|