アプリ版:「スタンプのみでお礼する」機能のリリースについて

Excel2007のVBAで質問があります。

シート上に複数(90個)のオプションボタンが設置しているシートが有りコマンドボタンが押されたときに
どのオプションボタンが選択されているか判断したいのですが、

IF文で一つ一つ下記のように書くと個数が多いたムダに長いロジックになります。
If Worksheets("Sheet1").OptionButton1.Value Then
chk_f = 1
end If
If Worksheets("Sheet1").OptionButton2.Value Then
chk_f = 2
end If
        :
        :

ユーザーフォームに設置しているオプションボタンは、下記のようにFor文で回せるのは判っているのですが、
For i = 1 To 90
If Me.Controls("OptionButton" & i).Value Then
chk_f = i
exit for
End If
Next

シート上のオプションボタンでも同様の事は可能でしょうか?

もしなければオプションボタンとセルをリンクさせてそのセルをFor文で回して確認していく方法が出来るかなと考えています。

A 回答 (1件)

For i = 1 To 90


If ActiveSheet.OLEObjects("OptionButton" & i).Object.Value Then
chk_f = i
Exit For
End If
Next

でどうでしょうか?
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!