• ベストアンサー

今まで使ってたユーザーフォームがいきなり使えなくなりました。

UserForm1に テキストボックスの追加やコマンドボタンの移動などを行なったところ 「実行時エラー91 オブジェクト変数、またはwithブロック変数が設定されていません。」 となってしまいます。 デバックしてもなにもエラーが見つかりません。 何が原因なのかさっぱりわかりません。 助けてください。 補足があれば追加します。 (2003 エクセル) よろしくお願いします。

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

  • ベストアンサー
  • cj_mover
  • ベストアンサー率76% (292/381)
回答No.1

こんにちは 状況を把握仕切れている訳ではありませんが、 似たようなトラブルでよくある原因として、、、  Userform_Initialize プロシージャ または  Userform_Activate プロシージャ に問題があるのではないでしょうか。 この場合、 該当するプロシージャの一行めにブレークポイントを設定 (若しくはにStopステートメントを記述)してから、 UserformをLoad(Show)して、 ステップモードで実行することで エラーの原因を特定できる筈です。 具体的な原因としては想定されるものが多様すぎるので、何とも言えませんが、 原因となる記述を特定出来れば、解決は近いと思います。 見当外れでしたらスルーして下さい。

lkhjlkhjlk
質問者

お礼

ステップモードについてよくわからないので調べてみます。 いろいろいじっていたら直りました。 ご回答ありがとうございます。

その他の回答 (1)

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

こんばんは。 >何が原因なのかさっぱりわかりません。 出来る限り、予想される部分のコードを出してほしいです。 UserForm モジュールに、コードをまったく書かなければ、エラーは出ないはずです。 >テキストボックスの追加やコマンドボタンの移動などを行なったところ これだけでは、エラーは発生しないと思います。 通常、Object を代入するはずのところに、Set ステートメントを入れないと、そのようなエラーが出ます。 デバッグで、その場所に黄色でとまることはありませんが、#1さんのプロシージャの一行目にブレークポイントを設け、ステップモードなら、その場所を特定化できます。

lkhjlkhjlk
質問者

お礼

コードが(無駄に)多すぎて書ききれない&素人過ぎて予想できないので書けませんでした。 ステップモードを調べてみます。 ご回答ありがとうございます。

関連するQ&A