2013-02-20 5 views
8

この質問の文脈は、Excelワークブックのコレクションで実行されている非常に大量のVBAマクロに慣れるためのツールとしてメッセージボックスを使用していることです。その時点でデバッグを開始するVBAコマンドがありますか?

コード内にメッセージボックスを慎重に挿入して、コード内のどこにポップアップしているかを教えてください。 私はこれらのボックスにボタンを持っています。そのボタンを押すと、その時点でコードのデバッグが始まります。

私の解決策は、「はい」ボタンが選択されている場合、ゼロ除算を実行することです。ここで は一例でありスニペット:

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

それは動作しますが、非常にエレガントではありません。

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

答えて

8

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

If MsgBox("Just entered function XYZ(). Want to debug?", vbYesNo + vbDefaultButton2) = vbYes Then Stop 
7

はい、あります:

Debug.Assert False 
+0

ので、あなたにも使用できます。 Debug.Assertの(のMsgBox( "ちょうど入力された機能XYZは( )、デバッグしますか? "、vbYesNo + vbDefaultButton2)= vbYes) – gicalle

関連する問題