• ベストアンサー

Excel VBA ユーザーフォームの連番の取得

ユーザーフォームで例えばOptionbottun1から10まで使用していたとして、for など繰り返し表現を用いて、ユーザーフォーム上のアイテムを取得することは不可能でしょうか。 例えば、イメージとしては For i = 1 to 10 If Optionbottun i = true then msgbox ''Optionbottun'' & i & ''は、true'' next i のようなイメージで取得出来ればと思うのですが。。。 できる、できない含めて御教授頂ければ幸いです。

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

  • ベストアンサー
  • kkkkkm
  • ベストアンサー率66% (1733/2603)
回答No.1

以下のような方法で取得できます。 For i = 1 To 10 If Me.Controls("OptionButton" & i) = True Then MsgBox "Optionbottun" & i & "は、true" End If Next

bitamin123456
質問者

お礼

早速ご回答ありがとうございます! とても助かりました!

その他の回答 (1)

  • masnoske
  • ベストアンサー率35% (67/190)
回答No.2

ベタな方法ですが、全コントロールの名前をから該当するOptuinButtonを見つけて処理してみました。 Sub checkOpt() Dim ctrl As Control Dim i As Long For Each ctrl In Controls If Left(ctrl.Name, 12) = "OptionButton" Then For i = 1 To 10 If ctrl.Name = "OptionButton" & i And ctrl.Value = True Then MsgBox "OptionButton" & i & "は、true" End If Next End If Next End Sub

関連するQ&A

専門家に質問してみよう