【煙花原創】VBA零基礎之第102篇 VBA調試(一)
講完了如何在代碼中進行錯誤處理,今天開始講講如何調試代碼。
調試在編程中是非常重要的一環,記得在論壇上第一次答VBA題,剛好碰到的是個排錯題。那會還只剛剛學了基本的語法,還沒寫過幾句代碼。找著試試的心態玩玩,沒成想這個排錯竟然花了一天的時間才解決完,中間就是不停的F8,下斷點,找出錯的原因,看本地窗口。中間也記不清不停的重試了多少回,回想那個過程,真是暈並快樂著。
1.模式
當代碼運行後一般會處於下列兩種模式之一:
運行模式,正如其名,當你擊運行或按F5後,代碼便開始執行。
中斷模式,顧名思義,當前代碼暫時中止運行(不是結束)。在調試代碼時,一般在此模式下進行。
通常在以下幾種情況下可以進入中斷模式:
A.執行程序時遇到斷點。
游標定位在執行語句所在行,按F9鍵可設置/取消斷點。菜單 調試 中點擊切換斷點也可。
設置了斷點的代碼所在行是以紅色背景顯示(顏色是可以定製的)注意不可在聲明語句,行標籤所在行設置斷點。
B. 在執行過程時按下CTRL+BREAK鍵在講Excel的應用程序對象時有講過EnableCancelKey屬性可以控制Excel如何處理CTRL+BREAK用戶中斷。當代碼在運行的過程中無法按鍵取消(手慢另算)時,可以查查代碼中是否有設置這個屬性。很多窗體代碼中會設置此屬性。
C.在執行時映襯到STOP語句或未捕獲的運行錯誤
關於未捕獲錯誤中斷的設置之前有提到在菜單 工具 選項窗口。
D.添加一個監視,當監視值為真或改變時中斷
E.Debug. Assert中的參數表達式為False時
代碼運行中斷後,可以看從本地窗口中發現變數i的值為5,此時i<5不成立,結果為False。
F.逐語句(F8)
在代碼窗口中游標定位到過程中時,按F8鍵逐行可進入中斷模式。
中斷時,代碼所在的時為黃色背景,如下圖所示。
點擊左下角「閱讀原文」查看煙花VBA系列所有內容
推薦閱讀:
※[原創]「瓦良格」在今年7月1日會「下水」嗎?
※原創:試論我國旅遊業網路營銷及其發展趨勢
※【子木原創】說課稿
※原創抗心律失常葯的選擇口訣及首選口訣
※【喬正芳原創文藝評論】寶釵究竟有多好