2013-02-20 15 views
8

Kontekstem tego pytania jest to, że używam okien wiadomości jako narzędzia, które pomagają mi zapoznać się z dość dużą ilością makr VBA, które są uruchomione w zbiorze skoroszytów programu Excel.Czy istnieje polecenie VBA, które powoduje uruchomienie debugowania w tym momencie?

Ostrożnie wstawiam pola wiadomości w obrębie kodu, który się pojawi i powiedz/przypomnij mi, gdzie jesteśmy w kodzie. Chciałbym mieć przycisk w tych polach, który zabierze mnie do debugowania kodu w tym momencie.

W tej chwili moim rozwiązaniem jest wykonanie podziału na zero, jeśli zostanie wybrany przycisk "Tak". Oto przykładowy fragment:

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

To działa, ale nie jest bardzo elegancki.

Miałem nadzieję, że istnieje polecenie, które uruchomi tryb debugowania VBA w momencie wywołania polecenia.

Odpowiedz

8

Komenda Stop robi to za ciebie:

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

Tak, jest:

Debug.Assert False 
+0

więc można również użyć: Debug.Assert (MsgBox ("właśnie wszedł funkcja XYZ (). Chcesz debugować? ", VbYesNo + vbDefaultButton2) = vbYes) – gicalle

Powiązane problemy