【Excel VBA】フォームのコントロールについてhttp://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q14169081079 でExce
【Excel VBA】フォームのコントロールについてhttp://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q14169081079 でExce l VBAについて質問した者です。 今回も作成途中の営業システムに関して質問したいことがあります。 たとえば、「Form1」というオブジェクト名のユーザーフォームに配置した、複数のテキストボックスをオブジェクト名を 「Textbox1」「Textbox2」「Textbox3」としておけば、 Textbox1.Valtoue = "同時入力" Textbox2.Value = "同時入力" Textbox3.Value = "同時入力" としなくても、 dim i as Integer For i = 1 To 3 Controls("Textbox" & i).Value = "同時入力" Next i 以上の記述で「Textbox1」「Textbox2」「Textbox3」のすべての値が「同時入力」となり、大幅にコードが省略できることを しかし、別のユーザーフォーム(オブジェクト名を「Form2」とします)から「Form1」の「Textbox1」「Textbox2」「Textbox3」を操作したい場合、「Form1.Textbox1」とフォーム名を明示しなければなりません。 この場合、「Form2」に dim i as Integer For i = 1 To 3 Controls("Form1.Textbox" & i).Value = "同時入力" Next i と記述して実行しても、 実行時エラー'-2147024809(80070057)' 指定されたオブジェクトは見つかりません。 とエラーが返ってしまいます。 このエラーの解決方法、または、代替の関数等はあるでしょうか。 ご教示いただければ幸いです。
Visual Basic | Excel・244閲覧・25
ベストアンサー
このベストアンサーは投票で選ばれました