啟動一個錯誤處理常式,且指定此常式在一個程序裏的位置。也可用來停止一個錯誤處理常式。
語法
一、On Error GoTo LLL ' 如果執行錯誤跳到LLL
二、On Error Resume NextOn Error GoTo 0
三、On Error 陳述式的語法可以是下列任何一種形式:
陳述式 | 描述 |
On Error GoTo LLL | 啟動錯誤處理常式。且此常式的開始位置由 LLL 引數指定。此LLL引數是必要的而且是任何行標籤或是行號。如果發生一個執行階段錯誤,程式控制會跳到 LLL 的位置,使錯誤處理程式開始動作。指定的 LLL 必須是和 On Error 陳述式在同一個程序裏。 否則,會發生編譯階段錯誤。 |
On Error Resume Next | 表示當一個執行階段錯誤產生時,程式控制立刻到發生錯誤陳述式接下去的陳述式,而繼續執行下去。當使用一個物件的時候,請使用這個陳述式,而不要使用 On Error GoTo。 |
On Error GoTo 0 | 停止現在程序裏任何已啟動的錯誤處理程式。 |
注意事項:
如果您不使用 On Error 陳述式,任何執行階段之錯誤都是嚴重的,結果會導致顯示錯誤訊息,並且中止執行。
On Error GoTo 0 取消目前程序裏的錯誤處理。它並不是表示處理錯誤的程式碼從行號 0 開始,就算程式裏真的有 0 行號也一樣。如果沒有 On Error GoTo 0 陳述式,當程序結束的時候,錯誤處理程式就自動關閉。
EX:
For i = 1 To AAA Step 2
On Error GoTo LLL '錯誤跑道LLL欄
Cells(2, 1).Select
Cells.Find(What:="日期範圍:", After:=ActiveCell, LookIn:=xlFormulas, LookAt _
:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:= _
False, MatchByte:=False, SearchFormat:=False).Activate
Cells.FindNext(After:=ActiveCell).Activate
Selection.EntireRow.Delete
Next
On Error GoTo LLL '錯誤跑道LLL欄
Cells(2, 1).Select
Cells.Find(What:="日期範圍:", After:=ActiveCell, LookIn:=xlFormulas, LookAt _
:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:= _
False, MatchByte:=False, SearchFormat:=False).Activate
Cells.FindNext(After:=ActiveCell).Activate
Selection.EntireRow.Delete
Next
LLL '跑到這
沒有留言:
張貼留言