ユーザーフォームにコマンドボタンと、15個のコンボボックスが設置されています。
コマンドボタンを押したときに15個のコンボボックスに入力されている値を取得して、値によって処理を分岐させたいです。
コンボボックス1から15までをループ処理で順番に指定して入力値を取得したいのですが、コンボボックスの指定の仕方がわかりません。
VBA
1Private Sub CommandButton1_Click() 2 3 Dim i As Variant 4 5 For i = 1 To 15 6 7 MsgBox ComboBox & i.Text 8 9 Next 10 11End Sub
上記のコードを実行すると以下のエラーがでます。
実行時エラー424 オブジェクトが必要です
MsgBox ComboBox & iという書き方ではオブジェクトとして認識されないということはなんとなくわかります。
オブジェクトとして認識させて順番に値を取得する方法を教えてください。
自己解決しました
VBA
1Private Sub CommandButton1_Click() 2 3 Dim i As Variant 4 5 For i = 1 To 15 6 7 MsgBox UserForm1.Controls(ComboBox & i).Text 8 9 Next 10 11End Sub
UserForm1の部分はそれぞれのフォーム名に変更してください。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。