標籤

2018年10月17日 星期三

VBA-ERROR 錯誤陳述式

啟動一個錯誤處理常式,且指定此常式在一個程序裏的位置。也可用來停止一個錯誤處理常式。
語法
一、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
LLL  '跑到這

沒有留言:

張貼留言