2013-02-20 14 views
8

इस प्रश्न का संदर्भ यह है कि मैं एक उपकरण के रूप में संदेश बॉक्स का उपयोग कर रहा हूं ताकि एक्सेल वर्कबुक के संग्रह पर चल रहे वीबीए मैक्रोज़ की बड़ी मात्रा में परिचित हो सकें।क्या कोई वीबीए कमांड है जो उस बिंदु पर डीबग शुरू करने का कारण बनता है?

मैं ध्यान से कोड के अंदर संदेश बॉक्स डाल रहा हूं जो पॉप अप करते हैं और मुझे बताते हैं कि हम कोड में कहां हैं। मैं इन बक्से में एक बटन रखना चाहता हूं जो मुझे उस बिंदु पर कोड के डीबग में ले जाएगा।

फिलहाल मेरा समाधान 'हां' बटन चुना गया है तो एक विभाजन-दर-शून्य करने के लिए है। यहाँ एक उदाहरण टुकड़ा है:

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

यह काम करता है, लेकिन बहुत ही सुंदर नहीं है।

मुझे आशा थी कि एक ऐसा आदेश होगा जो उस बिंदु पर वीबीए डीबग मोड शुरू करेगा जिस पर कमांड कहा जाता है।

उत्तर

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

संबंधित मुद्दे