vba 偵錯,偵錯可說是每一個寫code人必經之路,簡單分想一下,小編自己偵錯常用的方法。
example1:
a = 1
b = 0
c = a / b
執行example1code後,會出現以下錯誤提醒畫面(熟悉嗎?)
圖1.錯誤
點選確定後,就自動結束執行運作了,今天還好僅有3行,如果300行 或3000行,那.......還真的不知道是那一行錯了 xd所以這時候要加上一行,本篇主角 "on error goto line1"的指令;example2 參如下。
example2:
on error goto line1
a = 1
b = 0
c = a / b
line1:
MsgBox Err.Description & ";" & Err.Number '這行筆者加的,讓錯誤變成對話框內容
DEBUG.PRINT Err.Description & ";" & Err.Number '這行筆者加的,讓錯誤顯示在即時運算畫面當中。
圖2.
接下來,要如何偵錯錯誤行別??
使用RESUME;參example3 如下。
example3:
on error goto line1
a = 1
b = 0
c = a / b
line1:
MsgBox Err.Description & ";" & Err.Number '這行筆者加的,讓錯誤變成對話框內容
DEBUG.PRINT Err.Description & ";" & Err.Number '這行筆者加的,讓錯誤顯示在即時運算畫面當中。
RESUME ' '這行筆者加的的目的,是要顯示錯誤行別 記得要點反紅點
圖4.
再透過F8功能鍵逐一執行,就可以知道那一行掛了
圖5.F8逐行執行動畫
(動畫:美執行一行等於按一次F8)
沒有留言:
張貼留言