- ベストアンサー
Excel VBA ユーザーフォームの連番の取得
ユーザーフォームで例えばOptionbottun1から10まで使用していたとして、for など繰り返し表現を用いて、ユーザーフォーム上のアイテムを取得することは不可能でしょうか。 例えば、イメージとしては For i = 1 to 10 If Optionbottun i = true then msgbox ''Optionbottun'' & i & ''は、true'' next i のようなイメージで取得出来ればと思うのですが。。。 できる、できない含めて御教授頂ければ幸いです。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
以下のような方法で取得できます。 For i = 1 To 10 If Me.Controls("OptionButton" & i) = True Then MsgBox "Optionbottun" & i & "は、true" End If Next
その他の回答 (1)
- masnoske
- ベストアンサー率35% (67/190)
ベタな方法ですが、全コントロールの名前をから該当する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
お礼
早速ご回答ありがとうございます! とても助かりました!