• ベストアンサー

【365】オプションボタンの解除方法

オプション(ラジオ)ボタンを一度クリックすると解除できないとのことなので、解除用のオプションボタンを作成しましたが、各グループごとで解除するマクロが分かりません。 「ActiveSheet.OptionButtons = xlOff」では両グループのボタンがオフになってしまいます。 グループごとで解除できるマクロをご教示ください。

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

  • ベストアンサー
  • kkkkkm
  • ベストアンサー率66% (1747/2623)
回答No.3

回答No.1、回答No.2の追加です。 解除用のオプションボタンもグループの中にあるのでしたら 解除用のオプションボタンをクリアすればいいと思います。 フォームコントロールの オプション7の Option Button 7として Sub オプション7_Click() ActiveSheet.OptionButtons("Option Button 7").Value = xlOff End Sub ActiveX コントロールのOptionButton1でしたら Private Sub OptionButton1_Click() ActiveSheet.OptionButton1 = False End Sub

KO1014
質問者

お礼

ご回答ありがとうございました。 ご教示いただいたマクロをすべて試してみたのですが、うまく作動しませんでした。 試行錯誤した結果、オプション名を名前ボックスに表記された文字そのまま(今回はカタカナ)で設定したら作動しました。 ActiveSheet.OptionButtons("オプション 10").Value = xlOff 以前ご教示いただいた列指定のフィルタ解除のマクロも組み合わせて思い通りになりました。 大変助かりました。

すると、全ての回答が全文表示されます。

その他の回答 (3)

  • kkkkkm
  • ベストアンサー率66% (1747/2623)
回答No.4

思い付きですが 解除用のオプションボタンを必要のない時は消しておくとかもありかもしれません。 解除用のオプションボタン Private Sub OptionButton1_Click() ActiveSheet.OptionButton1 = False ActiveSheet.OptionButton1.Visible = False End Sub 解除用以外のオプションボタン Private Sub OptionButton2_Click() ActiveSheet.OptionButton1.Visible = True End Sub オプションボタンではなく通常のコマンドボタンにしてNo.1、No.2のコードを利用してもいいのかなとも思えます。

KO1014
質問者

お礼

ご回答ありがとうございました。

すると、全ての回答が全文表示されます。
  • kkkkkm
  • ベストアンサー率66% (1747/2623)
回答No.2

回答No.1の追加です。 フォームコントロールだと思ってNo.1を回答したのですが、もしActiveX コントロールのオプションボタンでしたら 以下で試してみてください。 Sub Test3() Dim obj As OLEObject For Each obj In ActiveSheet.OLEObjects If obj.progID = "Forms.OptionButton.1" Then If obj.Object.GroupName = "グループ21" Then obj.Object.Value = False End If End If Next End Sub

KO1014
質問者

お礼

ご回答ありがとうございました。 フォームコントロールだと思います。 それほど知識が無いので、挿入で出てきた選択肢の上の方を選んだと記憶しています。

すると、全ての回答が全文表示されます。
  • kkkkkm
  • ベストアンサー率66% (1747/2623)
回答No.1

以下試してみてください。 グループ21の場合です。 Sub Test() Dim oB As OptionButton For Each oB In ActiveSheet.OptionButtons If oB.GroupBox.Name = "グループ21" Then oB.Value = xlOff End If Next End Sub

KO1014
質問者

お礼

ご回答ありがとうございました。

すると、全ての回答が全文表示されます。

関連するQ&A