【煙花原創】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日會「下水」嗎?
原創:試論我國旅遊業網路營銷及其發展趨勢
【子木原創】說課稿
原創抗心律失常葯的選擇口訣及首選口訣
【喬正芳原創文藝評論】寶釵究竟有多好

TAG:原創 | 煙花 | 零基礎 | 基礎 |