8

この質問のコンテキストは、Excelブックのコレクションで実行されている非常に大量のVBAマクロに慣れるためのツールとしてメッセージボックスを使用しているということです。

コード内にメッセージボックスを注意深く挿入しています。メッセージボックスがポップアップし、コード内のどこにいるかを教えてくれます。これらのボックスに、その時点でコードのデバッグに移動するためのボタンが必要です。

現時点での私の解決策は、「はい」ボタンが選択されている場合にゼロ除算を実行することです。スニペットの例を次に示します。

Dim MyError as Double
...
If MsgBox("Just entered function XYZ(). Want to debug?", vbYesNo + vbDefaultButton2) = vbYes Then MyError = 1# / 0

それは機能しますが、あまりエレガントではありません。

コマンドが呼び出された時点でVBAデバッグモードを開始するコマンドがあることを期待していました。

4

2 に答える 2

10

Stopコマンドはあなたのためにこれを行います:

If MsgBox("Just entered function XYZ(). Want to debug?", vbYesNo + vbDefaultButton2) = vbYes Then Stop
于 2013-02-20T10:21:33.277 に答える
9

はいあります:

Debug.Assert False
于 2013-02-20T10:20:31.370 に答える