2

プライベート サブ workbook_open() 内の ThisWorkbook で userform1.show を使用して userform1 を表示しようとすると、最も奇妙なことが起こります。(私は Excel 2007 を使用しています)- ブレーク モードに入り、コードの実行が停止します!!!

マクロが有効になっているワークブックを開くと、ユーザーフォームは計画どおりに表示されますが、ユーザーフォームの領域内でマウスを移動すると、ブレークモードになり、行 UserForm1.Show が問題であるかのように強調表示されます。

さらに、F8 を押すと、プライベート サブ workbook_open() が強調表示され、もう一度押すと userform1.show が再び強調表示され、もう一度押すとランタイム エラー '400' が表示されます。

アプリケーション定義またはオブジェクト定義のエラー。

これは私にはこれまでに起こったことはありません。ここに答えがないという投稿を見つけました。

何か案は?

4

4 に答える 4

3

私も同じシナリオに出くわしました。

私がしたことは、Form プロパティの ShowModal プロパティを False に変更することで、ブレークはなくなりました。

于 2011-08-01T06:27:34.223 に答える
1

私は同じ問題を抱えていましたが、上記の回答では解決しませんでした。PCを再起動すると一時的に解決しましたが、しばらくすると問題が再発しました。PC を何度も再起動してイライラする数日間を過ごした後、次の結論に達しました。

問題の原因は、実行中に ctrl+break を使用してコードを停止した場合だと思います。

私にとって問題を解決するのは、コードが実行されていないときに ctrl+break を押すことです。コードがブレークモードであることを示してから、F5 を押します。実行は開始されませんが、ブレーク モードは再び終了します。これを行うと、問題は修正され、通常どおりコードを実行できるようになります。この方法は PC の再起動と同じように機能すると思いますが、はるかに高速です。

于 2014-02-24T09:34:26.257 に答える
0

最初に、VBA プロジェクトを再コンパイルしてから、マクロを含むワークブックを保存してください。コンパイルでエラーが発生した場合は、コンパイラ メッセージから参照の欠落などの詳細情報が得られる可能性があります。

また、以前に存在したすべてのブレークポイントをクリアしたことを確認してください。コマンドを有効にするには、最初に新しいブレークポイントを作成し ( F9)、次にすべてのブレークポイントをクリアする ( Ctrl+ Shift+ ) 必要がある場合があります。F9

于 2011-07-26T20:25:52.620 に答える
0

これは、私が開発中に何度か直面した奇妙な動作です...あなたを助けるかもしれないいくつかのヒント:

  • コードをコンパイルする
  • すべてのブレークポイントをクリア
  • プロジェクトの参照を確認してください (参照がない場合、問題が発生する可能性があります)
  • 「隠しブレークポイント」の前に不要なステートメント( などif 1 = 2 then DoEvents)を追加し、コードをコンパイルしてから、コードを再度削除します
  • VBA Code Cleanerをインストールして実行する

いずれにせよ、この奇妙な問題の原因は私にとって謎です。ブレークポイントを削除した後も、何らかの理由でブレークポイントがメモリに保持されているようです...

それが役に立てば幸い!

于 2011-07-26T21:41:17.327 に答える