• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:Excel ユーザーフォーム呼び出し時エラー)

Excelのユーザーフォーム呼び出し時のエラーと解決法

このQ&Aのポイント
  • Excelのユーザーフォームを呼び出した際に発生するエラーについて解説します。エラーの原因や解決法について詳しく説明します。
  • エクセルのユーザーフォームを作成して起動しようとすると、実行時エラーが発生することがあります。そのエラーの原因を解析し、対処法を紹介します。
  • Excelで作成したユーザーフォームを起動する際に発生するエラーについての解決法をご紹介します。エラーの原因や具体的な修正方法について説明します。

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

  • ベストアンサー
  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.1

こんばんは。 Auto_Open の代わりに、ThisWorkbook モジュールのWorkbook_Open イベントは試してみましたか。 これは、ダメ元ですが、Auto_Open は、反応が遅いです。 それと、今回の原因は、Excel 2007 のActive X コントロールのセキュリティの関係で、起動までに手間が掛かるのではないでしょうか。 その場合は、OnTime で、タイムラグを作るしかないと思います。ほんの数秒でかまわないはずです。 Sub Auto_Open() Application.OnTime Now() + TimeValue("00:00:02"), "Start1" '2秒待つ End Sub Sub Start1()  UserForm1.Show End Sub なお、すべてのコードは見ていませんが、UserForm_Initialize() で、 TextBox1.SetFocus は、必要ですか。ふつうは、TabIndex を0にすればよいと思います。 それから、ループは不要ですね。 Dim MyArray1() MyArray1 = Array("収支", "クレジット", "郵便局", "机", "500", "1") ComboBox1.List = MyArray1() ComboBox2.List = MyArray1() ComboBox3.List = MyArray1() となりますね。

aniline
質問者

お礼

こんばんは。 早速の回答、ありがとうございます。 Auto_Open()をWorkbook_Open()に変えたところ、正常に動作しました! ComboBoxもそういう入れ方があるんですね…。 まだまだVBA歴3日なので、知らないことばかりです^^ゞ TextBox1.SetFoucusは仰る通り不要でした。 ご指摘ありがとうございます^^ こんなに早く解決するとは思ってませんでした。 ありがとうございました!

関連するQ&A

専門家に質問してみよう