반응형

VBA로 매크로 작업을 하다보니 특정 위치들에서 오류가 발생

오류 발생 시 오류에 대한 기록을 남기고 다음 작업으로 넘어가서

반복 작업을 진행하려고 'On Error GoTo 레이블'을 사용 함

 

첫 번째 오류 발생 시에는 정상적으로 작동이 되지만,

두 번째 부터는 오류가 발생하더라도 런타임 오류 창이 계속 생성됨.

 

On Error 문법 관련해서 구글링도 해보고,

챗 gpt를 통해 알아보고 작업을 해봤지만 어떻게 해도 동일한 현상 발생

 

'On Error GoTo 0'도 뭔지 제대로 몰라서 하다가

-1이란게 있었음. 에러를 초기화 시킨다네?

 

혹시나 싶어 오류처리 작업을 다 하고 초기화를 시키고

기존 필수 작업 레이블로 이동 시키니 더 이상 런타임 오류 발생하지 않음

 

초기화 관련해서는 특별히 어디서 언급한 내용이 없어서 몰랐는데,

반복적으로 작업이 이뤄질 때 초기화가 반드시 필요해 보임

 

안되면 에러 코드를 갖고 비교해가면서 라인 작업들을 할려고 했는데,

무식하게 안해도 되어 다행.


 

Sub test()
    
    '오류 발생 시 핸들러로 점프
    On Error GoTo ErrorHandler
    
    For i = 1 To 10
        
        '각종 코드 실행
        
'오류 처리 후 복귀해서 시작 할 라인
Repoint:

    Next i
    
    '정상적으로 작업이 완료 될 경우 종료
    Exit Sub
    
'오류 발생 시 처리 할 레이블
ErrorHandler:
    
    '오류 처리 코드 실행
    
    '오류 처리 초기화
    On Error GoTo -1
    
    '오류 처리 후 기존 작업으로 복귀
    GoTo Repoint
End Sub

반응형

+ Recent posts