iT邦幫忙

DAY 8
3

Excel VBA 的眉眉角角系列 第 8

Excel VBA 的眉眉角角Day8: 關於錯誤控制與偵錯方式

撰寫程式時,除錯是很重要的一環,有了良好的除錯機制,寫起來會更事半功倍。以下先介紹如何進行偵錯:

偵錯技巧(一):

在編輯視窗,在需要進行偵錯的程式行上,使用鍵盤的F9或滑鼠移到該行最左邊點一下,出現一整行咖啡色線條,就是中斷點。

然後使用鍵盤的F5執行到該行後會中斷

再利用F8即可逐一執行,查閱程式碼,此時每行執行的線條為黃色,可以使用滑鼠拖曳黃色線條位置,有助於測試程式。

偵錯技巧(二):

使用以上偵測時,可以開啟「檢視(V)」->「區域變數視窗(S)」,該視窗會帶出各項變數數值,有助於查閱程式執行結果與過程是否與預期相符。

錯誤訊息控制:

以下幾個範例,用來講解當程式出現錯誤時,要怎麼進行反應

錯誤訊息控制(一):全部跳過,程式不顯示任何錯誤訊息

Sub NoAlerts()
'停止全部Excel預設錯誤訊息
Application.DisplayAlerts=False

   '要執行的程式碼擺這裡

'開啟全部Excel預設錯誤訊息
Application.DisplayAlerts=True
End Sub

錯誤訊息控制(一):執行錯誤時跳過,在過了 On Error Resume Next後,所出現的程式,有問題會直接跳過

Sub NoRunTimeErrors()
'執行時跳過錯誤:
On Error Resume Next

   '要執行的程式碼擺這裡

'重設錯誤機制
On Error GoTo 0 
End Sub

錯誤訊息控制(三):進入錯誤處理子程式,可處理錯誤訊息,除了顯示代號與訊息外,也可撰寫依照不同的錯誤代碼,帶出不同的處理方式。

Sub MyMacro()
'執行時出現錯誤則跳到MyError子程式
On Error Goto MyError

   '要執行的程式碼擺這裡

Exit sub

MyError:
   '跳出 錯誤代碼 與 錯誤描述
   MsgBox Err.Number & ": " & Err.Description 
End Sub

以上分享,希望各位有所收穫。


上一篇
Excel VBA 的眉眉角角Day7如何用Columns(數字)選擇多列?
下一篇
Excel VBA 的眉眉角角Day9:刪除重複資料
系列文
Excel VBA 的眉眉角角30

尚未有邦友留言

立即登入留言